KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > core > DTDDataLoader


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19 package org.netbeans.modules.xml.core;
20
21 import java.io.IOException JavaDoc;
22
23 import org.openide.loaders.*;
24 import org.openide.filesystems.FileObject;
25 import org.openide.filesystems.FileUtil;
26 import org.openide.actions.*;
27 import org.openide.util.actions.SystemAction;
28 import org.openide.util.*;
29
30 import org.netbeans.modules.xml.core.actions.CollectDTDAction;
31 import org.netbeans.modules.xml.core.actions.XMLUpdateDocumentAction;
32
33 /** Data loader which recognizes DTD files.
34  * This class is final only for performance reasons,
35  * can be unfinaled if desired.
36  *
37  * @author Libor Kramolis
38  */

39 public final class DTDDataLoader extends UniFileLoader {
40
41     /** Serial Version UID */
42     private static final long serialVersionUID = 1954391380343387000L;
43
44     /** */
45     private static final String JavaDoc DTD_EXT = "dtd"; // NOI18N
46
private static final String JavaDoc MOD_EXT = "mod"; // NOI18N
47

48     /** Creates new DTDDataLoader */
49     public DTDDataLoader() {
50         super ("org.netbeans.modules.xml.core.DTDDataObject"); // NOI18N
51
}
52
53     /** Does initialization. Initializes display name,
54     * extension list and the actions. */

55     protected void initialize () {
56         super.initialize();
57         
58         ExtensionList ext = getExtensions();
59         ext.addExtension (DTD_EXT);
60         ext.addExtension (MOD_EXT);
61         ext.addMimeType (DTDDataObject.MIME_TYPE);
62         ext.addMimeType ("text/x-dtd"); // NOI18N
63
setExtensions (ext);
64     }
65     
66     protected String JavaDoc actionsContext() {
67         return "Loaders/text/x-dtd/Actions/";
68     }
69
70     /**
71      * Lazy init name.
72      */

73     protected String JavaDoc defaultDisplayName () {
74         return Util.THIS.getString ("PROP_DtdLoader_Name");
75     }
76     
77
78     /** Creates the right primary entry for given primary file.
79      *
80      * @param primaryFile primary file recognized by this loader
81      * @return primary entry for that file
82      */

83     protected MultiDataObject.Entry createPrimaryEntry (MultiDataObject obj, FileObject primaryFile) {
84         return new XMLDataLoader.XMLFileEntry (obj, primaryFile); //adds smart templating
85
}
86
87     /** Creates the right data object for given primary file.
88      * It is guaranteed that the provided file is realy primary file
89      * returned from the method findPrimaryFile.
90      *
91      * @param primaryFile the primary file
92      * @return the data object for this file
93      * @exception DataObjectExistsException if the primary file already has data object
94      */

95     protected MultiDataObject createMultiObject (FileObject primaryFile)
96     throws DataObjectExistsException, java.io.IOException JavaDoc {
97         return new DTDDataObject (primaryFile, this);
98     }
99 }
100
Popular Tags