KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mvnforum > jaxb > db > impl > runtime > DefaultJAXBContextImpl


1 //
2
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.5-b16-fcs
3
// See <a HREF="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
4
// Any modifications to this file will be lost upon recompilation of the source schema.
5
// Generated on: 2005.12.17 at 09:43:27 AM GMT+07:00
6
//
7

8 package com.mvnforum.jaxb.db.impl.runtime;
9
10 import javax.xml.bind.DatatypeConverter;
11 import javax.xml.bind.JAXBContext;
12 import javax.xml.bind.JAXBException;
13 import javax.xml.bind.Marshaller;
14 import javax.xml.bind.PropertyException;
15 import javax.xml.bind.Unmarshaller;
16 import javax.xml.bind.Validator;
17
18 import com.sun.xml.bind.Messages;
19 import com.sun.xml.bind.DatatypeConverterImpl;
20
21 /**
22  * This class provides the default implementation of JAXBContext. It
23  * also creates the GrammarInfoFacade that unifies all of the grammar
24  * info from packages on the contextPath.
25  *
26  * @version $Revision: 1.3 $
27  */

28 public class DefaultJAXBContextImpl extends JAXBContext {
29     
30     /**
31      * This object keeps information about the grammar.
32      *
33      * When more than one package are specified,
34      * GrammarInfoFacade is used.
35      */

36     private GrammarInfo gi = null;
37
38     /**
39      * This is the constructor used by javax.xml.bind.FactoryFinder which
40      * bootstraps the RI. It causes the construction of a JAXBContext that
41      * contains a GrammarInfoFacade which is the union of all the generated
42      * JAXBContextImpl objects on the contextPath.
43      */

44     public DefaultJAXBContextImpl( String JavaDoc contextPath, ClassLoader JavaDoc classLoader )
45         throws JAXBException {
46             
47         this( GrammarInfoFacade.createGrammarInfoFacade( contextPath, classLoader ) );
48
49         // initialize datatype converter with ours
50
DatatypeConverter.setDatatypeConverter(DatatypeConverterImpl.theInstance);
51     }
52     
53     /**
54      * This constructor is used by the default no-arg constructor in the
55      * generated JAXBContextImpl objects. It is also used by the
56      * bootstrapping constructor in this class.
57      */

58     public DefaultJAXBContextImpl( GrammarInfo gi ) {
59         this.gi = gi;
60     }
61         
62     public GrammarInfo getGrammarInfo() {
63         return gi;
64     }
65     
66     
67     
68     /**
69      * Once we load a grammar, we will cache the value here.
70      */

71     private com.sun.msv.grammar.Grammar grammar = null;
72     
73     /**
74      * Loads a grammar object for the unmarshal-time validation.
75      *
76      * <p>
77      * getGrammar is normally very expensive, so it's worth
78      * synchronizing to avoid unnecessary invocation.
79      */

80     public synchronized com.sun.msv.grammar.Grammar getGrammar() throws JAXBException {
81         if( grammar==null )
82             grammar = gi.getGrammar();
83         return grammar;
84     }
85     
86     
87     /**
88      * Create a <CODE>Marshaller</CODE> object that can be used to convert a
89      * java content-tree into XML data.
90      *
91      * @return a <CODE>Marshaller</CODE> object
92      * @throws JAXBException if an error was encountered while creating the
93      * <code>Marshaller</code> object
94      */

95     public Marshaller createMarshaller() throws JAXBException {
96             return new MarshallerImpl( this );
97     }
98        
99     /**
100      * Create an <CODE>Unmarshaller</CODE> object that can be used to convert XML
101      * data into a java content-tree.
102      *
103      * @return an <CODE>Unmarshaller</CODE> object
104      * @throws JAXBException if an error was encountered while creating the
105      * <code>Unmarshaller</code> object
106      */

107     public Unmarshaller createUnmarshaller() throws JAXBException {
108             return new UnmarshallerImpl( this, gi );
109     }
110         
111     /**
112      * Create a <CODE>Validator</CODE> object that can be used to validate a
113      * java content-tree.
114      *
115      * @return an <CODE>Unmarshaller</CODE> object
116      * @throws JAXBException if an error was encountered while creating the
117      * <code>Validator</code> object
118      */

119     public Validator createValidator() throws JAXBException {
120             return new ValidatorImpl( this );
121     }
122     
123
124     
125     /**
126      * Create an instance of the specified Java content interface.
127      *
128      * @param javaContentInterface the Class object
129      * @return an instance of the Java content interface
130      * @exception JAXBException
131      */

132     public Object JavaDoc newInstance( Class JavaDoc javaContentInterface )
133         throws JAXBException {
134
135         if( javaContentInterface == null ) {
136             throw new JAXBException( Messages.format( Messages.CI_NOT_NULL ) );
137         }
138
139         try {
140             Class JavaDoc c = gi.getDefaultImplementation( javaContentInterface );
141             if(c==null)
142                 throw new JAXBException(
143                     Messages.format( Messages.MISSING_INTERFACE, javaContentInterface ));
144             
145             return c.newInstance();
146         } catch( Exception JavaDoc e ) {
147             throw new JAXBException( e );
148         }
149     }
150     
151     /**
152      * There are no required properties, so simply throw an exception. Other
153      * providers may have support for properties on Validator, but the RI doesn't
154      */

155     public void setProperty( String JavaDoc name, Object JavaDoc value )
156         throws PropertyException {
157         
158         throw new PropertyException(name, value);
159     }
160     
161     /**
162      * There are no required properties, so simply throw an exception. Other
163      * providers may have support for properties on Validator, but the RI doesn't
164      */

165     public Object JavaDoc getProperty( String JavaDoc name )
166         throws PropertyException {
167             
168         throw new PropertyException(name);
169     }
170     
171     
172 }
173
Popular Tags