Interface InternalContext

All Superinterfaces:
PropertyChangeProvider
All Known Implementing Classes:
AbstractInternalContext, BackwardCompatibilityContext

public interface InternalContext extends PropertyChangeProvider
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
invalid @link
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 Details

    • 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(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(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(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(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(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
    • getProperty

      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
    • 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(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

      Parser getParser()
      Return an XML document parser implementing the feature list specified in the configuration file.
      Returns:
      A suitable XML parser
    • getParser

      Parser getParser(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

      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

      XMLReader getXMLReader(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

      DocumentHandler getSerializer(OutputStream output) throws 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:
      IOException - if instantiation of the serializer fails
    • getSerializer

      DocumentHandler getSerializer(Writer output) throws 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:
      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(String propertyName, boolean value)
      To set any boolean property.
      Parameters:
      propertyName - name of the property to set
      value - boolean value to set
    • getBooleanProperty

      Boolean getBooleanProperty(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

      String getStringProperty(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(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

      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

      void setLoadPackageMapping(Boolean loadPackageMapping)
      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

      void setUseIntrospector(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