Package org.exolab.castor.xml
Class XMLContext
java.lang.Object
org.exolab.castor.xml.XMLContext
Bootstrap class for Castor XML that allows you to load information about the domain objects used
with Castor XML (marshallers and unmarshallers) by various means.
- Since:
- 1.1.2
- Author:
- Werner Guttmann
-
Constructor Summary
Constructors -
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.To create a newChangeLog2XML
instance.Creates an instance of a Castor XML specificMapping
instance.To create a MappingTool instance.Creates a newMarshaller
instance to be used for marshalling.Creates a newUnmarshaller
instance to be used for unmarshalling.Deprecated.getProperty
(String propertyName) To get the value of a specific property.void
setClassLoader
(ClassLoader classLoader) Sets a customClassLoader
to be used for loading classes.void
setProperty
(String propertyName, boolean value) To set properties for marshalling and unmarshalling behavior.void
setProperty
(String propertyName, Object value) To set properties for marshalling and unmarshalling behavior.
-
Constructor Details
-
XMLContext
public XMLContext()Creates an instance ofXMLContext
with an internal XML context.
-
-
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.
-
createMapping
-
createMarshaller
Creates a newMarshaller
instance to be used for marshalling.- Returns:
- A new
Marshaller
instance.
-
createUnmarshaller
Creates a newUnmarshaller
instance to be used for unmarshalling.- Returns:
- A new
Unmarshaller
instance, preconfigured with aXMLClassDescriptorResolver
instance with the class descriptors cached as loaded above.
-
createMappingTool
To create a MappingTool instance.- Returns:
- the MappingTool instance ready to use
-
createChangeLog2XML
To create a newChangeLog2XML
instance.- Returns:
- the
ChangeLog2XML
instance ready to use
-
setProperty
-
setProperty
To set properties for marshalling and unmarshalling behavior.- Parameters:
propertyName
- name of the property to setvalue
- the value to set to
-
getProperty
-
getInternalContext
Deprecated.To get theInternalContext
as used when instantiating other classes. Mind that this method is only used in tests and should NOT be used in production code!- Returns:
- the
InternalContext
used
-
setClassLoader
Sets a customClassLoader
to be used for loading classes.- Parameters:
classLoader
- A customClassLoader
.
-