Package 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 byXMLContext
. 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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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()
TheJavaNaming
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 theMappingLoader
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 whichIntrospector
?is to be used.void
setJavaNaming(JavaNaming javaNaming)
To set theJavaNaming
?property.void
setLoadPackageMapping(java.lang.Boolean loadPackageMapping)
To set the load package mapping flag.void
setMappingLoader(MappingLoader mappingLoader)
To set theMappingLoader
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-specificXMLClassDescriptorResolver
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 theXMLClassDescriptorResolver
to be used.void
setXMLNaming(XMLNaming xmlNaming)
To set theXMLNaming
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 theMapping
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-specificXMLClassDescriptorResolver
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 setvalue
- 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()
TheJavaNaming
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 theMappingLoader
to be used in this Castor session.- Parameters:
mappingLoader
- theMappingLoader
to use
-
getMappingLoader
MappingLoader getMappingLoader()
To get theMappingLoader
specified to be used in this Castor session.- Returns:
- the
MappingLoader
to use
-
setJavaNaming
void setJavaNaming(JavaNaming javaNaming)
To set theJavaNaming
?property.- Parameters:
javaNaming
- theJavaNaming
to use
-
setXMLNaming
void setXMLNaming(XMLNaming xmlNaming)
To set theXMLNaming
property.- Parameters:
xmlNaming
- theXMLNaming
to use
-
setProperty
void setProperty(java.lang.String propertyName, boolean value)
To set any boolean property.- Parameters:
propertyName
- name of the property to setvalue
- 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 theXMLClassDescriptorResolver
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
- theXMLClassDescriptorResolver
to use
-
setIntrospector
void setIntrospector(Introspector introspector)
To specify whichIntrospector
?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
-
-