Class SchemaRootBase

All Implemented Interfaces:
TypeReplacer
Direct Known Subclasses:
SchemaCustom, SchemasetCustom

public abstract class SchemaRootBase extends NestingCustomBase
Base class for possible root customizations.
Author:
Dennis M. Sosnoski
  • Field Details

    • EMPTY_DECORATORS_ARRAY

      private static final ClassDecorator[] EMPTY_DECORATORS_ARRAY
    • s_allowedAttributes

      public static final StringArray s_allowedAttributes
      Enumeration of allowed attribute names
    • s_defaultNameConverter

      private static final NameConverter s_defaultNameConverter
      Default converter used if none set.
    • s_nameToFormat

      private static final Map s_nameToFormat
      Default format name to definition map.
    • REPEAT_ARRAY

      public static final int REPEAT_ARRAY
      See Also:
    • REPEAT_LIST

      public static final int REPEAT_LIST
      See Also:
    • REPEAT_TYPED

      public static final int REPEAT_TYPED
      See Also:
    • s_repeatValues

      public static final EnumSet s_repeatValues
    • ENUM_JAVA5

      public static final int ENUM_JAVA5
      See Also:
    • ENUM_SIMPLE

      public static final int ENUM_SIMPLE
      See Also:
    • s_enumValues

      public static final EnumSet s_enumValues
    • m_package

      private String m_package
      Fully-qualified package name.
    • m_bindingPerSchema

      private Boolean m_bindingPerSchema
      Generate one binding for each schema flag (binding per namespace if false).
    • m_bindingFileName

      private String m_bindingFileName
      Binding file name (only allowed if single namespace, null if derived from schema name).
    • m_prefix

      private String m_prefix
      Prefix used for namespace (only allowed if single namespace, null if from schema).
    • m_generateAll

      private Boolean m_generateAll
      Generate even unused global definitions.
    • m_inlineGroups

      private Boolean m_inlineGroups
      Inline xs:group and xs:attributeGroup definitions by default.
    • m_preferInline

      private Boolean m_preferInline
      Prefer inline definitions (separate classes for all if false).
    • m_useInner

      private Boolean m_useInner
      Use inner classes for substructures (top-level classes for all if false).
    • m_deleteAnnotations

      private Boolean m_deleteAnnotations
      Delete annotations flag.
    • m_importDocs

      private Boolean m_importDocs
      Convert schema documentation to JavaDocs in generated code flag.
    • m_showSchema

      private Boolean m_showSchema
      Include schema fragments in generated class JavaDocs flag.
    • m_nullCollection

      private Boolean m_nullCollection
      Force separate class for collection flag.
    • m_structureOptional

      private Boolean m_structureOptional
      Set references as optional structure where possible flag.
    • m_schemaTypes

      private Map m_schemaTypes
      Map from schema type name to Java type information (lazy create, null if not used at level).
    • m_nameConverter

      private NameConverter m_nameConverter
      Name converter instance (null if none set at level).
    • m_inheritDecorators

      private Boolean m_inheritDecorators
      Inherit code generation class decorators from parent flag.
    • m_classDecorators

      private List m_classDecorators
      Decorators to be used in code generation (null if none set at level).
    • m_lineWidth

      private Integer m_lineWidth
      Preferred maximum line width for generated code.
    • m_repeatCode

      private int m_repeatCode
      Code for repeated value representation (-1 if not set at level).
    • m_enumCode

      private int m_enumCode
      Code for enumeration representation (-1 if not set at level).
  • Constructor Details

    • SchemaRootBase

      public SchemaRootBase(SchemaRootBase parent)
      Constructor.
      Parameters:
      parent -
  • Method Details

    • getRootParent

      public SchemaRootBase getRootParent()
      Get parent customization (which will either be null, or another instance of this class).
      Returns:
      parent, or null if none
    • isBindingPerSchema

      public boolean isBindingPerSchema()
      Check if a separate binding should be generated for each schema. The default is false if not overridden at any level.
      Returns:
      generate unused flag
    • isGenerateAll

      public boolean isGenerateAll()
      Check whether unused definitions should be included in code generation. The default is true if not overridden at any level.
      Returns:
      generate unused flag
    • isInlineGroups

      public boolean isInlineGroups()
      Check whether xs:group and xs:attributeGroup definitions should be inlined by default. The default is false if not overridden at any level.
      Returns:
      generate unused flag
    • isPreferInline

      public boolean isPreferInline()
      Check whether inlining of components is preferred. The default is false if not overridden at any level.
      Returns:
      inline components flag
    • isUseInner

      public boolean isUseInner()
      Check whether inner classes are preferred for components used only by one definition. The default is true if not overridden at any level.
      Returns:
      inline components flag
    • isDeleteAnnotations

      public boolean isDeleteAnnotations()
      Check whether annotations are to be deleted. The default is true if not overridden at any level.
      Returns:
      delete annotations flag
    • isJavaDocDocumentation

      public boolean isJavaDocDocumentation()
      Check whether schema documentation is to be used for JavaDocs in the generated code. The default is true if not overridden at any level.
      Returns:
      use schema documentation in JavaDocs flag
    • isSchemaFragmentDocumentation

      public boolean isSchemaFragmentDocumentation()
      Check whether schema fragments matching a generated class are to be included in the class JavaDocs. The default is true if not overridden at any level.
      Returns:
      schema fragments in class JavaDocs flag
    • isNullCollectionAllowed

      public boolean isNullCollectionAllowed()
      Check whether collection holder (array, list, etc.) can be null. This is only relevant to collections using an optional wrapper element: If this flag is true a null collection holder indicates the element is missing; otherwise a class is created to wrap the collection holder, and a null for that class indicates the element is missing. The default is true if not overridden at any level. TODO: currently unsupported
      Returns:
      force collection wrapper flag
    • isStructureOptional

      public boolean isStructureOptional()
      Check whether references to classes with no associated element and all components optional should be made optional in the generated binding. The effect of making such class references optional is that the reference will be set null when unmarshalling if none of the components are present, and will be checked for null when marshalling. The default is true if not overridden at any level.
      Returns:
      prefer structure optional flag
    • getLineWidth

      public int getLineWidth()
      Get the preferred maximum line width used for generated classes. The default is 80.
      Returns:
      line width
    • getRepeatType

      public int getRepeatType()
      Get the repeated value representation type code to be applied for this schema or set of schemas. The default value is REPEAT_TYPED if not overridden at any level.
      Returns:
      code
    • setRepeatType

      public void setRepeatType(int code)
      Set the repeated value representation type code.
      Parameters:
      code - type code, -1 if to be unset
    • getRepeatedTypeText

      public String getRepeatedTypeText()
      Get the repeated value representation text value set specifically for this element.
      Returns:
      text (null if not set)
    • setRepeatedTypeText

      private void setRepeatedTypeText(String text, IUnmarshallingContext ictx)
      Set the repeated value representation text value. This method is provided only for use when unmarshalling.
      Parameters:
      text - (null if not set)
      ictx -
    • getEnumType

      public int getEnumType()
      Get the enumeration representation type code to be applied for this schema or set of schemas. The default value is ENUM_JAVA5 if not overridden at any level.
      Returns:
      code
    • setEnumType

      public void setEnumType(int code)
      Set the enumeration representation type code.
      Parameters:
      code - type code, -1 if to be unset
    • getEnumerationTypeText

      public String getEnumerationTypeText()
      Get the enumeration representation text value set specifically for this element.
      Returns:
      text (null if not set)
    • setEnumerationTypeText

      private void setEnumerationTypeText(String text, IUnmarshallingContext ictx)
      Set the enumeration representation text value. This method is provided only for use when unmarshalling.
      Parameters:
      text - (null if not set)
      ictx -
    • getPackage

      public String getPackage()
      Get fully-qualified package name. This is inherited by nested schemas if set at any level.
      Returns:
      package (null if none set)
    • setPackage

      public void setPackage(String pack)
      Set fully-qualified package name. This is inherited by nested schemas if set at any level.
      Parameters:
      pack - (null if none)
    • getBindingFileName

      public String getBindingFileName()
      Get binding definition file name. The binding name may not be set if more than one namespace is used in the schemas represented by this customization.
      Returns:
      name, null if to be derived from schema name
    • getPrefix

      public String getPrefix()
      Get prefix used for namespace. The prefix may not be set if more than one namespace is used in the schemas represented by this customization.
      Returns:
      prefix, null if to be found from schema
    • addSchemaType

      private void addSchemaType(JavaType type)
      Add schema type handling override.
      Parameters:
      type -
    • getSchemaTypes

      Map getSchemaTypes()
      Get map from schema type local name to type information.
      Returns:
      map
    • setNameConverter

      private void setNameConverter(NameConverter nconv, IUnmarshallingContext ictx)
      Set name converter to be used.
      Parameters:
      nconv -
      ictx -
    • getNameConverter

      NameConverter getNameConverter()
      Get name converter.
      Returns:
      converter (null if none defined)
    • addClassDecorator

      private void addClassDecorator(ClassDecorator decor)
      Add a class decorator to the current list.
      Parameters:
      decor -
    • getClassDecorators

      ClassDecorator[] getClassDecorators()
      Get class decorators.
      Returns:
      decorators
    • classDecoratorFactory

      private static ClassDecorator classDecoratorFactory(IUnmarshallingContext ictx)
      Create an instance of the appropriate class decorator class, to be used for unmarshalling. This always uses the default constructor for the target class.
      Parameters:
      ictx -
      Returns:
      class decorator instance, or null if error