Package org.castor.xml
Interface InternalContext
- All Superinterfaces:
PropertyChangeProvider
- All Known Implementing Classes:
AbstractInternalContext
,BackwardCompatibilityContext
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
.
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.
invalid @link
XMLContext
- Since:
- 1.1.2
- Author:
- Joachim Grueneis
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Loads the class descriptor for the class instance specified.void
addClasses
(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
(String packageName) Loads class descriptors from the package specified.void
addPackages
(String[] packageNames) Loads class descriptors from the packages specified.getBooleanProperty
(String propertyName) Providing access to Boolean properties of the configuration.To get the ClassLoader to use for loading resources.To get the Introspector assigned to this XMLContext.TheJavaNaming
instance to be used.boolean
Get lenient id validation flag.boolean
Get lenient sequence order flag.Get load package mapping flag.To get theMappingLoader
specified to be used in this Castor session.Returns the default OutputFormat for use with a Serializer.Return an XML document parser implementing the feature list specified in the configuration file.Returns an XML document parser implementing the requested set of features.Returns the NodeType to use for Java primitives.getProperty
(String propertyName) To get the value of a specific property.Returns a new instance of the specified Regular Expression Evaluator, or null if no validator was specified.To get the XMLClassDescriptor resolver strategy to be used when resolving classes into class descriptors.Returns a default serializer for producing an XML document.getSerializer
(OutputStream output) Returns a default serializer for producing an XML document to the designated output stream using the default serialization format.getSerializer
(Writer output) Returns a default serializer for producing an XML document to the designated output stream using the default serialization format.getStringProperty
(String propertyName) Providing access to String properties of the configuration.To get use-introspection flag.To get the XMLClassdescriptorResolver instance hold in the context.Returns the naming conventions to use for the XML framework.getXMLNaming
(ClassLoader classLoader) Returns the naming conventions to use for the XML framework.Returns an XML document parser implementing the requested set of features.getXMLReader
(String features) Returns an XML document parser implementing the requested set of features.boolean
To get marshalling-validation flag.void
setClassLoader
(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
(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
(String propertyName, boolean value) To set any boolean property.void
setProperty
(String propertyName, 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
(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
To get strict-element flag.Methods inherited from interface org.castor.xml.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, removePropertyChangeListener, removePropertyChangeListener
-
Method Details
-
addMapping
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
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
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
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
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
Sets an application-specificXMLClassDescriptorResolver
instance.- Parameters:
xmlClassDescriptorResolver
- the resolver to use
-
setProperty
To set properties for marshalling and unmarshalling behavior.- Parameters:
propertyName
- name of the property to setvalue
- the value to set to
-
getProperty
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
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
Parser getParser()Return an XML document parser implementing the feature list specified in the configuration file.- Returns:
- A suitable XML parser
-
getParser
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
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
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
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:
IOException
- if instantiation of the serializer fails
-
getSerializer
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:
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
To set the XMLClassDescriptor resolver strategy to be used.- Parameters:
resolverStrategy
- the ResolverStrategy to use
-
setMappingLoader
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
To set theJavaNaming
?property.- Parameters:
javaNaming
- theJavaNaming
to use
-
setXMLNaming
To set theXMLNaming
property.- Parameters:
xmlNaming
- theXMLNaming
to use
-
setProperty
To set any boolean property.- Parameters:
propertyName
- name of the property to setvalue
- boolean value to set
-
getBooleanProperty
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
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
To set the class loader to be used in all further marshalling, unmarshalling and other actions.- Parameters:
classLoader
- the ClassLoader instance to use
-
setXMLClassDescriptorResolver
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
To specify whichIntrospector
?is to be used.- Parameters:
introspector
-Introspector
to be used
-
getClassLoader
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
Boolean getLoadPackageMapping()Get load package mapping flag.- Returns:
- load package mapping flag
-
setLoadPackageMapping
To set the load package mapping flag.- Parameters:
loadPackageMapping
- the load package mapping flag
-
getUseIntrospector
Boolean getUseIntrospector()To get use-introspection flag.- Returns:
- use-introspection flag
-
setUseIntrospector
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
-