Class Generator


  • public class Generator
    extends java.lang.Object
    INTERNAL:

    Purpose:The purpose of this class is to act as an entry point into the TopLink JAXB 2.0 Generation framework

    Responsibilities:

    • Run initial processing on a list of classes to create TypeInfo meta data
    • Provide API to generate Schema Files
    • Provide API to generate a TopLink Project
    • Act as an integration point with WebServices

    This class acts as an entry point into JAXB 2.0 Generation. A Generator is created with a specific set of JAXB 2.0 Annotated classes and then performs actions on those, such as generating schema files, or generating TopLink Projects. Additional information is returned from the schema generation methods as a means of integration with WebServices.

    See Also:
    AnnotationsProcessor, MappingsGenerator, SchemaGenerator
    Author:
    mmacivor
    Since:
    Oracle TopLink 11.1.1.0.0
    • Constructor Detail

      • Generator

        public Generator​(JavaModelInput jModelInput)
        This constructor creates a Helper using the JavaModelInput instance's JavaModel. Annotations are processed here as well.
        Parameters:
        jModelInput -
      • Generator

        public Generator​(JavaModelInput jModelInput,
                         java.util.Map<java.lang.String,​XmlBindings> xmlBindings,
                         java.lang.ClassLoader cLoader,
                         java.lang.String defaultTargetNamespace,
                         boolean enableXmlAccessorFactory)
        This constructor will process and apply the given XmlBindings as appropriate. Classes declared in the bindings will be amalgamated with any classes in the JavaModelInput. If xmlBindings is null or empty, AnnotationsProcessor will be used to process annotations as per usual.
        Parameters:
        jModelInput -
        xmlBindings - map of XmlBindings keyed on package name
        cLoader -
      • Generator

        public Generator​(JavaModelInput jModelInput,
                         TypeMappingInfo[] typeMappingInfos,
                         JavaClass[] javaClasses,
                         java.util.Map<java.lang.reflect.Type,​TypeMappingInfo> typeToTypeMappingInfo,
                         java.lang.String defaultTargetNamespace)
        This constructor creates a Helper using the JavaModelInput instance's JavaModel and a map of javaclasses that were generated from Type objects. Annotations are processed here as well.
        Parameters:
        jModelInput -
      • Generator

        public Generator​(JavaModelInput jModelInput,
                         TypeMappingInfo[] typeMappingInfos,
                         JavaClass[] javaClasses,
                         java.util.Map<java.lang.reflect.Type,​TypeMappingInfo> typeToTypeMappingInfo,
                         java.util.Map<java.lang.String,​XmlBindings> xmlBindings,
                         java.lang.ClassLoader cLoader,
                         java.lang.String defaultTargetNamespace,
                         boolean enableXmlAccessorFactory)
        This constructor will process and apply the given XmlBindings as appropriate. Classes declared in the bindings will be amalgamated with any classes in the JavaModelInput. If xmlBindings is null or empty, AnnotationsProcessor will be used to process annotations as per usual.
        Parameters:
        jModelInput -
        defaultTargetNamespace -
        enableXmlAccessorFactory -
        javaClasses -
        typeMappingInfos -
        typeToTypeMappingInfo -
        xmlBindings - map of XmlBindings keyed on package name
        cLoader -
    • Method Detail

      • postInitialize

        public void postInitialize()
        This event is called when mappings generation is completed, and provides a chance to deference anything that is no longer needed (to reduce the memory footprint of this object).
      • hasMarshalCallbacks

        public boolean hasMarshalCallbacks()
      • hasUnmarshalCallbacks

        public boolean hasUnmarshalCallbacks()
      • generateProject

        public CoreProject generateProject()
                                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • generateSchema

        public java.util.Collection<org.eclipse.persistence.internal.oxm.schema.model.Schema> generateSchema()
      • generateSchemaFiles

        public java.util.Map<java.lang.String,​SchemaTypeInfo> generateSchemaFiles​(java.lang.String schemaPath,
                                                                                        java.util.Map<javax.xml.namespace.QName,​java.lang.reflect.Type> additionalGlobalElements)
                                                                                 throws java.io.FileNotFoundException
        Throws:
        java.io.FileNotFoundException
      • generateSchemaFiles

        public java.util.Map<java.lang.String,​SchemaTypeInfo> generateSchemaFiles​(SchemaOutputResolver outputResolver,
                                                                                        java.util.Map<javax.xml.namespace.QName,​java.lang.reflect.Type> additionalGlobalElements)
      • getUnmarshalCallbacks

        public java.util.Map getUnmarshalCallbacks()
      • getMarshalCallbacks

        public java.util.Map getMarshalCallbacks()
      • setTypeToTypeMappingInfo

        public void setTypeToTypeMappingInfo​(java.util.Map<java.lang.reflect.Type,​TypeMappingInfo> typesToTypeMapping)
      • getTypeToTypeMappingInfo

        public java.util.Map<java.lang.reflect.Type,​TypeMappingInfo> getTypeToTypeMappingInfo()