org.castor.xml
Interface InternalContext

All Known Implementing Classes:
AbstractInternalContext, BackwardCompatibilityContext

public interface InternalContext

The internal context is meant as center piece providing (and keeping) all information that is required by Marshaller, Unmarshaller, SourceGenerator, MappingTool, SchemaReader and SchemaWriter. It is created, filled with initial data and put into all other parts of Castor by XMLContext. It is NOT meant to be directly instantiated by user implementations! For all other objects it provides access to Castor state information (e.g. known descriptors) and configuration values.

Since:
1.1.2
Author:
Joachim Grueneis

Method Summary
 void addClass(java.lang.Class clazz)
          Loads the class descriptor for the class instance specified.
 void addClasses(java.lang.Class[] clazzes)
          Loads the class descriptor for the class instance specified.
 void addMapping(Mapping mapping)
          Instructs Castor to load class descriptors from the mapping given.
 void addPackage(java.lang.String packageName)
          Loads class descriptors from the package specified.
 void addPackages(java.lang.String[] packageNames)
          Loads class descriptors from the packages specified.
 java.lang.Boolean getBooleanProperty(java.lang.String propertyName)
          Providing access to Boolean properties of the configuration.
 java.lang.ClassLoader getClassLoader()
          To get the ClassLoader to use for loading resources.
 Introspector getIntrospector()
          To get the Introspector assigned to this XMLContext.
 JavaNaming getJavaNaming()
          The JavaNaming instance to be used.
 boolean getLenientIdValidation()
          Get lenient id validation flag.
 boolean getLenientSequenceOrder()
          Get lenient sequence order flag.
 java.lang.Boolean getLoadPackageMapping()
          Get load package mapping flag.
 MappingLoader getMappingLoader()
          To get the MappingLoader specified to be used in this Castor session.
 OutputFormat getOutputFormat()
          Returns the default OutputFormat for use with a Serializer.
 org.xml.sax.Parser getParser()
          Return an XML document parser implementing the feature list specified in the configuration file.
 org.xml.sax.Parser getParser(java.lang.String features)
          Returns an XML document parser implementing the requested set of features.
 NodeType getPrimitiveNodeType()
          Returns the NodeType to use for Java primitives.
 java.lang.Object getProperty(java.lang.String propertyName)
          To get the value of a specific property.
 RegExpEvaluator getRegExpEvaluator()
          Returns a new instance of the specified Regular Expression Evaluator, or null if no validator was specified.
 ResolverStrategy getResolverStrategy()
          To get the XMLClassDescriptor resolver strategy to be used when resolving classes into class descriptors.
 Serializer getSerializer()
          Returns a default serializer for producing an XML document.
 org.xml.sax.DocumentHandler getSerializer(java.io.OutputStream output)
          Returns a default serializer for producing an XML document to the designated output stream using the default serialization format.
 org.xml.sax.DocumentHandler getSerializer(java.io.Writer output)
          Returns a default serializer for producing an XML document to the designated output stream using the default serialization format.
 java.lang.String getStringProperty(java.lang.String propertyName)
          Providing access to String properties of the configuration.
 java.lang.Boolean getUseIntrospector()
          To get use-introspection flag.
 XMLClassDescriptorResolver getXMLClassDescriptorResolver()
          To get the XMLClassdescriptorResolver instance hold in the context.
 XMLNaming getXMLNaming()
          Returns the naming conventions to use for the XML framework.
 XMLNaming getXMLNaming(java.lang.ClassLoader classLoader)
          Returns the naming conventions to use for the XML framework.
 org.xml.sax.XMLReader getXMLReader()
          Returns an XML document parser implementing the requested set of features.
 org.xml.sax.XMLReader getXMLReader(java.lang.String features)
          Returns an XML document parser implementing the requested set of features.
 boolean marshallingValidation()
          To get marshalling-validation flag.
 void setClassLoader(java.lang.ClassLoader classLoader)
          To set the class loader to be used in all further marshalling, unmarshalling and other actions.
 void setIntrospector(Introspector introspector)
          To specify which Introspector?is to be used.
 void setJavaNaming(JavaNaming javaNaming)
          To set the JavaNaming?property.
 void setLoadPackageMapping(java.lang.Boolean loadPackageMapping)
          To set the load package mapping flag.
 void setMappingLoader(MappingLoader mappingLoader)
          To set the MappingLoader to be used in this Castor session.
 void setProperty(java.lang.String propertyName, boolean value)
          To set any boolean property.
 void setProperty(java.lang.String propertyName, java.lang.Object value)
          To set properties for marshalling and unmarshalling behavior.
 void setResolver(XMLClassDescriptorResolver xmlClassDescriptorResolver)
          Sets an application-specific XMLClassDescriptorResolver instance.
 void setResolverStrategy(ResolverStrategy resolverStrategy)
          To set the XMLClassDescriptor resolver strategy to be used.
 void setUseIntrospector(java.lang.Boolean useIntrospector)
          To set use-introspection flag.
 void setXMLClassDescriptorResolver(XMLClassDescriptorResolver xmlClassDescriptorResolver)
          To set the XMLClassDescriptorResolver to be used.
 void setXMLNaming(XMLNaming xmlNaming)
          To set the XMLNaming property.
 boolean strictElements()
          To get strict-element flag.
 

Method Detail

addMapping

void addMapping(Mapping mapping)
                throws MappingException
Instructs Castor to load class descriptors from the mapping given.

Parameters:
mapping - Castor XML mapping (file), from which the required class descriptors will be derived.
Throws:
MappingException - If the Mapping cannot be loaded and analyzed successfully.

addClass

void addClass(java.lang.Class clazz)
              throws ResolverException
Loads the class descriptor for the class instance specified. The use of this method is useful when no mapping is used, as happens when the domain classes has been generated using the XML code generator (in which case instead of a mapping file class descriptor files will be generated).

Parameters:
clazz - the class for which the associated descriptor should be loaded.
Throws:
ResolverException - in case that resolving the Class fails fatally

addClasses

void addClasses(java.lang.Class[] clazzes)
                throws ResolverException
Loads the class descriptor for the class instance specified. The use of this method is useful when no mapping is used, as happens when the domain classes hase been generated using the XML code generator (in which case instead of a mapping file class descriptor files will be generated).

Parameters:
clazzes - the classes for which the associated descriptor should be loaded.
Throws:
ResolverException - in case that resolving the Class fails fatally

addPackage

void addPackage(java.lang.String packageName)
                throws ResolverException
Loads class descriptors from the package specified. The use of this method is useful when no mapping is used, as happens when the domain classes hase been generated using the XML code generator (in which case instead of a mapping file class descriptor files will be generated).

Please note that this functionality will work only if you provide the .castor.cdr file with your generated classes (as generated by the XML code generator).

Parameters:
packageName - The package name for the (descriptor) classes
Throws:
ResolverException - If there's a problem loading class descriptors for the given package.

addPackages

void addPackages(java.lang.String[] packageNames)
                 throws ResolverException
Loads class descriptors from the packages specified. The use of this method is useful when no mapping is used, as happens when the domain classes hase been generated using the XML code generator (in which case instead of a mapping file class descriptor files will be generated).

Please note that this functionality will work only if you provide the .castor.cdr files with your generated classes (as generated by the XML code generator).

Parameters:
packageNames - The package names for the (descriptor) classes
Throws:
ResolverException - If there's a problem loading class descriptors for the given package.

setResolver

void setResolver(XMLClassDescriptorResolver xmlClassDescriptorResolver)
Sets an application-specific XMLClassDescriptorResolver instance.

Parameters:
xmlClassDescriptorResolver - the resolver to use

setProperty

void setProperty(java.lang.String propertyName,
                 java.lang.Object value)
To set properties for marshalling and unmarshalling behavior.

Parameters:
propertyName - name of the property to set
value - the value to set to

getProperty

java.lang.Object getProperty(java.lang.String propertyName)
To get the value of a specific property.

Parameters:
propertyName - name of the Property
Returns:
the value (Object) of the property

getXMLNaming

XMLNaming getXMLNaming()
Returns the naming conventions to use for the XML framework.

Returns:
the naming conventions to use for the XML framework

getXMLNaming

XMLNaming getXMLNaming(java.lang.ClassLoader classLoader)
Returns the naming conventions to use for the XML framework.

Parameters:
classLoader - the class loader to be used when instantiating a new naming instance
Returns:
the naming conventions to use for the XML framework

getJavaNaming

JavaNaming getJavaNaming()
The JavaNaming instance to be used.

Returns:
JavaNaming instance to be used.

getParser

org.xml.sax.Parser getParser()
Return an XML document parser implementing the feature list specified in the configuration file.

Returns:
A suitable XML parser

getParser

org.xml.sax.Parser getParser(java.lang.String features)
Returns an XML document parser implementing the requested set of features. The feature list is a comma separated list of features that parser may or may not support. No errors are generated for unsupported features. If the feature list is not null, it overrides the default feature list specified in the configuration file, including validation and Namespaces.

Parameters:
features - The requested feature list, null for the defaults
Returns:
A suitable XML parser

getXMLReader

org.xml.sax.XMLReader getXMLReader()
Returns an XML document parser implementing the requested set of features. The feature list is a comma separated list of features that parser may or may not support. No errors are generated for unsupported features. If the feature list is not null, it overrides the default feature list specified in the configuration file, including validation and Namespaces.

Returns:
A suitable XML parser

getXMLReader

org.xml.sax.XMLReader getXMLReader(java.lang.String features)
Returns an XML document parser implementing the requested set of features. The feature list is a comma separated list of features that parser may or may not support. No errors are generated for unsupported features. If the feature list is not null, it overrides the default feature list specified in the configuration file, including validation and Namespaces.

Parameters:
features - the name of feature to set
Returns:
A suitable XML parser

getPrimitiveNodeType

NodeType getPrimitiveNodeType()
Returns the NodeType to use for Java primitives. A null value will be returned if no NodeType was specified, indicating the default NodeType should be used.

Returns:
the NodeType assigned to Java primitives, or null if no NodeType was specified.

getRegExpEvaluator

RegExpEvaluator getRegExpEvaluator()
Returns a new instance of the specified Regular Expression Evaluator, or null if no validator was specified.

Returns:
the regular expression evaluator,

getSerializer

Serializer getSerializer()
Returns a default serializer for producing an XML document. The caller can specify an alternative output format, may reuse this serializer across several streams, and may serialize both DOM and SAX events. If such control is not required, it is recommended to call one of the other two methods.

Returns:
A suitable serializer

getOutputFormat

OutputFormat getOutputFormat()
Returns the default OutputFormat for use with a Serializer.

Returns:
the default OutputFormat

getSerializer

org.xml.sax.DocumentHandler getSerializer(java.io.OutputStream output)
                                          throws java.io.IOException
Returns a default serializer for producing an XML document to the designated output stream using the default serialization format.

Parameters:
output - The output stream
Returns:
A suitable serializer
Throws:
java.io.IOException - if instantiation of the serializer fails

getSerializer

org.xml.sax.DocumentHandler getSerializer(java.io.Writer output)
                                          throws java.io.IOException
Returns a default serializer for producing an XML document to the designated output stream using the default serialization format.

Parameters:
output - The output stream
Returns:
A suitable serializer
Throws:
java.io.IOException - if instantiation of serializer fails

getXMLClassDescriptorResolver

XMLClassDescriptorResolver getXMLClassDescriptorResolver()
To get the XMLClassdescriptorResolver instance hold in the context.

Returns:
the XMLClassdescriptorResolver instance hold in the context

getIntrospector

Introspector getIntrospector()
To get the Introspector assigned to this XMLContext.

Returns:
the Introspector assigned to this XMLContext

getResolverStrategy

ResolverStrategy getResolverStrategy()
To get the XMLClassDescriptor resolver strategy to be used when resolving classes into class descriptors.

Returns:
the ResolverStrategy to use

setResolverStrategy

void setResolverStrategy(ResolverStrategy resolverStrategy)
To set the XMLClassDescriptor resolver strategy to be used.

Parameters:
resolverStrategy - the ResolverStrategy to use

setMappingLoader

void setMappingLoader(MappingLoader mappingLoader)
To set the MappingLoader to be used in this Castor session.

Parameters:
mappingLoader - the MappingLoader to use

getMappingLoader

MappingLoader getMappingLoader()
To get the MappingLoader specified to be used in this Castor session.

Returns:
the MappingLoader to use

setJavaNaming

void setJavaNaming(JavaNaming javaNaming)
To set the JavaNaming?property.

Parameters:
javaNaming - the JavaNaming to use

setXMLNaming

void setXMLNaming(XMLNaming xmlNaming)
To set the XMLNaming property.

Parameters:
xmlNaming - the XMLNaming to use

setProperty

void setProperty(java.lang.String propertyName,
                 boolean value)
To set any boolean property.

Parameters:
propertyName - name of the property to set
value - boolean value to set

getBooleanProperty

java.lang.Boolean getBooleanProperty(java.lang.String propertyName)
Providing access to Boolean properties of the configuration.

Parameters:
propertyName - name of the property
Returns:
null if property is not set or whichever value is set

getStringProperty

java.lang.String getStringProperty(java.lang.String propertyName)
Providing access to String properties of the configuration.

Parameters:
propertyName - name of the property
Returns:
null if the property is not set or whichever value is set

setClassLoader

void setClassLoader(java.lang.ClassLoader classLoader)
To set the class loader to be used in all further marshalling, unmarshalling and other actions.

Parameters:
classLoader - the ClassLoader instance to use

setXMLClassDescriptorResolver

void setXMLClassDescriptorResolver(XMLClassDescriptorResolver xmlClassDescriptorResolver)
To set the XMLClassDescriptorResolver to be used. Be aware, that the XMLClassDescriptorResolver instance holds a descriptor cache!! Maybe change it to have the descriptor cache as part of the context?

Parameters:
xmlClassDescriptorResolver - the XMLClassDescriptorResolver to use

setIntrospector

void setIntrospector(Introspector introspector)
To specify which Introspector?is to be used.

Parameters:
introspector - Introspector to be used

getClassLoader

java.lang.ClassLoader getClassLoader()
To get the ClassLoader to use for loading resources.

Returns:
the ClassLoader to use

getLenientIdValidation

boolean getLenientIdValidation()
Get lenient id validation flag.

Returns:
lenient id validation flag

getLenientSequenceOrder

boolean getLenientSequenceOrder()
Get lenient sequence order flag.

Returns:
lenient sequence order flag

getLoadPackageMapping

java.lang.Boolean getLoadPackageMapping()
Get load package mapping flag.

Returns:
load package mapping flag

setLoadPackageMapping

void setLoadPackageMapping(java.lang.Boolean loadPackageMapping)
To set the load package mapping flag.

Parameters:
loadPackageMapping - the load package mapping flag

getUseIntrospector

java.lang.Boolean getUseIntrospector()
To get use-introspection flag.

Returns:
use-introspection flag

setUseIntrospector

void setUseIntrospector(java.lang.Boolean useIntrospector)
To set use-introspection flag.

Parameters:
useIntrospector - use-introspection flag

marshallingValidation

boolean marshallingValidation()
To get marshalling-validation flag.

Returns:
marshalling-validation flag

strictElements

boolean strictElements()
To get strict-element flag.

Returns:
strict-element flag


Copyright © 2011. All Rights Reserved.