KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > editor > options > MIMEProcessor


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
20 package org.netbeans.modules.editor.options;
21
22 import java.io.IOException JavaDoc;
23 import org.openide.cookies.InstanceCookie;
24 import org.openide.loaders.XMLDataObject;
25
26 /** XML Processor for MIME Options settings files
27  *
28  * @author Martin Roskanin
29  * @since 08/2001
30  */

31 public abstract class MIMEProcessor implements XMLDataObject.Processor, InstanceCookie {
32
33     /** <code>XMLDataObject</code> this processor is linked to. */
34     protected XMLDataObject xmlDataObject;
35
36     /** Attaches this processor to specified xml data object. Implements <code>XMLDataObject.Processor</code> interface.
37      * @param xmlDataObject xml data object to which attach this processor */

38     public void attachTo(XMLDataObject xmlDataObject) {
39         this.xmlDataObject = xmlDataObject;
40     }
41     
42     /** Gets name of instance. Implements <code>InstanceCookie</code> interface method.
43      * @return name of <code>xmlDataObject</code> */

44     public String JavaDoc instanceName() {
45         return xmlDataObject.getName();
46     }
47     
48     /** Gets instance class. Implements <code>InstanceCookie</code> interface method.
49      * @return MIME specific processor class */

50     public Class JavaDoc instanceClass() throws IOException JavaDoc, ClassNotFoundException JavaDoc {
51         return this.getClass();
52     }
53     
54     /** Gets XMLDataObject to which this processor is linked to */
55     public XMLDataObject getXMLDataObject(){
56         return xmlDataObject;
57     }
58     
59     /** Gets DTD's PUBLIC_ID */
60     public abstract String JavaDoc getPublicID();
61     
62     /** Gets DTD's SYSTEM_ID */
63     public abstract String JavaDoc getSystemID();
64     
65     /** Gets the class of MIMEOption file that handle this XML file type */
66     public abstract Class JavaDoc getAsociatedMIMEOptionFile();
67     
68     /** Creates appropriate MIME Option file
69      * @param o BaseOptions subClass
70      * @param b object of MIMEProcessor */

71     public abstract MIMEOptionFile createMIMEOptionFile(BaseOptions o, Object JavaDoc b);
72     
73     /** Creates instance. Implements <code>InstanceCookie</code> interface method. */
74     public Object JavaDoc instanceCreate() throws IOException JavaDoc, ClassNotFoundException JavaDoc {
75         return this;
76     }
77 }
78
Popular Tags