Class ComponentCustom

All Implemented Interfaces:
TypeReplacer

public class ComponentCustom extends NestingCustomBase
Class for all schema component elements, with the exception of the <schema> element itself. Almost all of these schema elements can contain other elements, so this extends the nesting base to handle inherited values.
Author:
Dennis M. Sosnoski
  • Field Details

    • INLINE_DEFAULT

      public static final int INLINE_DEFAULT
      See Also:
    • INLINE_BLOCK

      public static final int INLINE_BLOCK
      See Also:
    • INLINE_PREFER

      public static final int INLINE_PREFER
      See Also:
    • s_inlineValues

      public static final EnumSet s_inlineValues
    • m_elementName

      private final String m_elementName
      Schema element name.
    • m_path

      private String m_path
      Path to component (null if not specified).
    • m_position

      private String m_position
      Component position in siblings of same type (null if not specified).
    • m_componentName

      private String m_componentName
      Component name, if relevant.
    • m_ignore

      private boolean m_ignore
      Ignore component flag.
    • m_exclude

      private boolean m_exclude
      Exclude component flag.
    • m_inline

      private int m_inline
      Code for inlining.
    • m_className

      private String m_className
      Corresponding generated class name (null if not specified).
    • m_baseName

      private String m_baseName
      Base name for corresponding property in generated code (null if not specified).
    • m_type

      private QName m_type
      Actual type to be used.
  • Constructor Details

    • ComponentCustom

      public ComponentCustom(String name, NestingCustomBase parent)
      Constructor.
      Parameters:
      name - schema element name
      parent -
  • Method Details

    • getElementName

      public final String getElementName()
      Get the schema element name for the component.
      Returns:
      name
    • buildPath

      public final SchemaPath buildPath(ValidationContext vctx)
      Build the schema path for this customization.
      Parameters:
      vctx - validation context
      Returns:
      path constructed path, or null if error
    • isIgnored

      public boolean isIgnored()
      Check if schema component is to be ignored (allowed, but not processed, in unmarshalling). This is only applicable to element definitions.
      Returns:
      true if ignored, false if not
    • isExcluded

      public boolean isExcluded()
      Check if schema component is to be excluded.
      Returns:
      true if ignored, false if not
    • isInlined

      public boolean isInlined()
      Check if schema component is to be generated inline.
      Returns:
      true if inlined, false if not
    • isSeparateClass

      public boolean isSeparateClass()
      Check if schema component is to be generated as a separate class.
      Returns:
      true if separate class, false if not
    • getClassName

      public String getClassName()
      Get name to be used for generated class.
      Returns:
      class name (null if not set)
    • getBaseName

      public String getBaseName()
      Get base name for corresponding property.
      Returns:
      property name (null if not set)
    • setInline

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

      public final void apply(ComponentExtension exten, ValidationContext vctx)
      Apply customizations to a schema extension. This also finds matches for any child customizations, and applies the child customizations recursively. The method may be called multiple times for different component extensions, so it must not modify the customization information itself.
      Parameters:
      exten - target schema extension
      vctx - validation context