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 by 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 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 the Mapping 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.
      • 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 set
        value - 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
      • 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
      • setProperty

        void setProperty​(java.lang.String propertyName,
                         boolean value)
        To set any boolean property.
        Parameters:
        propertyName - name of the property to set
        value - 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 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
      • 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