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 Detail

      • s_inlineValues

        public static final EnumSet s_inlineValues
      • m_elementName

        private final java.lang.String m_elementName
        Schema element name.
      • m_path

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

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

        private java.lang.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 java.lang.String m_className
        Corresponding generated class name (null if not specified).
      • m_baseName

        private java.lang.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 Detail

      • ComponentCustom

        public ComponentCustom​(java.lang.String name,
                               NestingCustomBase parent)
        Constructor.
        Parameters:
        name - schema element name
        parent -
    • Method Detail

      • getElementName

        public final java.lang.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 java.lang.String getClassName()
        Get name to be used for generated class.
        Returns:
        class name (null if not set)
      • getBaseName

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

        private void setInline​(java.lang.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