// // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-b27-fcs // See http://java.sun.com/xml/jaxb // Any modifications to this file will be lost upon recompilation of the source schema. // Generated on: 2012.09.08 at 08:59:44 DU CEST // package com.sun.identity.diagnostic.base.core.jaxbgen.impl.runtime; import javax.xml.bind.DatatypeConverter; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.PropertyException; import javax.xml.bind.Unmarshaller; import javax.xml.bind.Validator; import com.sun.xml.bind.Messages; import com.sun.xml.bind.DatatypeConverterImpl; /** * This class provides the default implementation of JAXBContext. It * also creates the GrammarInfoFacade that unifies all of the grammar * info from packages on the contextPath. * * @version $Revision: 1.3 $ */ public class DefaultJAXBContextImpl extends JAXBContext { /** * This object keeps information about the grammar. * * When more than one package are specified, * GrammarInfoFacade is used. */ private GrammarInfo gi = null; /** * This is the constructor used by javax.xml.bind.FactoryFinder which * bootstraps the RI. It causes the construction of a JAXBContext that * contains a GrammarInfoFacade which is the union of all the generated * JAXBContextImpl objects on the contextPath. */ public DefaultJAXBContextImpl( String contextPath, ClassLoader classLoader ) throws JAXBException { this( GrammarInfoFacade.createGrammarInfoFacade( contextPath, classLoader ) ); // initialize datatype converter with ours DatatypeConverter.setDatatypeConverter(DatatypeConverterImpl.theInstance); } /** * This constructor is used by the default no-arg constructor in the * generated JAXBContextImpl objects. It is also used by the * bootstrapping constructor in this class. */ public DefaultJAXBContextImpl( GrammarInfo gi ) { this.gi = gi; } public GrammarInfo getGrammarInfo() { return gi; } /** * Once we load a grammar, we will cache the value here. */ private com.sun.msv.grammar.Grammar grammar = null; /** * Loads a grammar object for the unmarshal-time validation. * *
* getGrammar is normally very expensive, so it's worth
* synchronizing to avoid unnecessary invocation.
*/
public synchronized com.sun.msv.grammar.Grammar getGrammar() throws JAXBException {
if( grammar==null )
grammar = gi.getGrammar();
return grammar;
}
/**
* Create a Marshaller
object that can be used to convert a
* java content-tree into XML data.
*
* @return a Marshaller
object
* @throws JAXBException if an error was encountered while creating the
* Marshaller
object
*/
public Marshaller createMarshaller() throws JAXBException {
return new MarshallerImpl( this );
}
/**
* Create an Unmarshaller
object that can be used to convert XML
* data into a java content-tree.
*
* @return an Unmarshaller
object
* @throws JAXBException if an error was encountered while creating the
* Unmarshaller
object
*/
public Unmarshaller createUnmarshaller() throws JAXBException {
return new UnmarshallerImpl( this, gi );
}
/**
* Create a Validator
object that can be used to validate a
* java content-tree.
*
* @return an Unmarshaller
object
* @throws JAXBException if an error was encountered while creating the
* Validator
object
*/
public Validator createValidator() throws JAXBException {
return new ValidatorImpl( this );
}
/**
* Create an instance of the specified Java content interface.
*
* @param javaContentInterface the Class object
* @return an instance of the Java content interface
* @exception JAXBException
*/
public Object newInstance( Class javaContentInterface )
throws JAXBException {
if( javaContentInterface == null ) {
throw new JAXBException( Messages.format( Messages.CI_NOT_NULL ) );
}
try {
Class c = gi.getDefaultImplementation( javaContentInterface );
if(c==null)
throw new JAXBException(
Messages.format( Messages.MISSING_INTERFACE, javaContentInterface ));
return c.newInstance();
} catch( Exception e ) {
throw new JAXBException( e );
}
}
/**
* There are no required properties, so simply throw an exception. Other
* providers may have support for properties on Validator, but the RI doesn't
*/
public void setProperty( String name, Object value )
throws PropertyException {
throw new PropertyException(name, value);
}
/**
* There are no required properties, so simply throw an exception. Other
* providers may have support for properties on Validator, but the RI doesn't
*/
public Object getProperty( String name )
throws PropertyException {
throw new PropertyException(name);
}
}