Class XMLContext

java.lang.Object
org.exolab.castor.xml.XMLContext

public class XMLContext extends Object
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 Details

    • XMLContext

      public XMLContext()
      Creates an instance of XMLContext with an internal XML context.
  • Method Details

    • addMapping

      public 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

      public void addClass(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

      public void addClasses(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

      public void addPackage(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

      public void addPackages(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.
    • createMapping

      public Mapping createMapping()
      Creates an instance of a Castor XML specific Mapping instance.
      Returns:
      a Castor XML specific Mapping instance.
    • createMarshaller

      public Marshaller createMarshaller()
      Creates a new Marshaller instance to be used for marshalling.
      Returns:
      A new Marshaller instance.
    • createUnmarshaller

      public Unmarshaller createUnmarshaller()
      Creates a new Unmarshaller instance to be used for unmarshalling.
      Returns:
      A new Unmarshaller instance, preconfigured with a XMLClassDescriptorResolver instance with the class descriptors cached as loaded above.
    • createMappingTool

      public MappingTool createMappingTool()
      To create a MappingTool instance.
      Returns:
      the MappingTool instance ready to use
    • createChangeLog2XML

      public ChangeLog2XML createChangeLog2XML()
      To create a new ChangeLog2XML instance.
      Returns:
      the ChangeLog2XML instance ready to use
    • setProperty

      public void setProperty(String propertyName, Object value)
      To set properties for marshalling and unmarshalling behavior.
      Parameters:
      propertyName - name of the property to set
      value - the value to set to
    • setProperty

      public void setProperty(String propertyName, boolean value)
      To set properties for marshalling and unmarshalling behavior.
      Parameters:
      propertyName - name of the property to set
      value - the value to set to
    • getProperty

      public Object getProperty(String propertyName)
      To get the value of a specific property.
      Parameters:
      propertyName - name of the Property
      Returns:
      the value (Object) of the property
    • getInternalContext

      public InternalContext getInternalContext()
      Deprecated.
      To get the InternalContext 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

      public void setClassLoader(ClassLoader classLoader)
      Sets a custom ClassLoader to be used for loading classes.
      Parameters:
      classLoader - A custom ClassLoader.