Class NestingCustomBase

java.lang.Object
org.jibx.schema.codegen.custom.CustomBase
org.jibx.schema.codegen.custom.NestingCustomBase
All Implemented Interfaces:
TypeReplacer
Direct Known Subclasses:
ComponentCustom, SchemaRootBase

public abstract class NestingCustomBase extends CustomBase implements TypeReplacer
Base class for all standard schema customizations that can contain other customizations.
Author:
Dennis M. Sosnoski
  • Field Details

    • s_allowedAttributes

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

      public static final int ANY_DISCARD
      See Also:
    • ANY_DOM

      public static final int ANY_DOM
      See Also:
    • ANY_MAPPED

      public static final int ANY_MAPPED
      See Also:
    • s_anyValues

      public static final EnumSet s_anyValues
    • SELECTION_UNCHECKED

      public static final int SELECTION_UNCHECKED
      See Also:
    • SELECTION_CHECKEDSET

      public static final int SELECTION_CHECKEDSET
      See Also:
    • SELECTION_CHECKEDBOTH

      public static final int SELECTION_CHECKEDBOTH
      See Also:
    • SELECTION_OVERRIDESET

      public static final int SELECTION_OVERRIDESET
      See Also:
    • SELECTION_OVERRIDEBOTH

      public static final int SELECTION_OVERRIDEBOTH
      See Also:
    • s_selectionValues

      public static final EnumSet s_selectionValues
    • m_substitutions

      private QName[] m_substitutions
      List of type substitution pairs.
    • m_enforcedFacetsMask

      private long m_enforcedFacetsMask
      Mask for facets enforced at this level.
    • m_ignoredFacetsMask

      private long m_ignoredFacetsMask
      Mask for facets ignored at this level.
    • m_choiceExposed

      private Boolean m_choiceExposed
      Expose choice selection state directly to user.
    • m_choiceCode

      private int m_choiceCode
      Code for xs:choice handling (-1 if not set at level).
    • m_unionExposed

      private Boolean m_unionExposed
      Expose union selection state directly to user.
    • m_unionCode

      private int m_unionCode
      Code for xs:union handling (-1 if not set at level).
    • m_anyCode

      private int m_anyCode
      Code for xs:any representation (-1 if not set at level).
    • m_children

      private final LazyList m_children
      Child customizations.
    • m_typeSubstitutionMap

      private Map m_typeSubstitutionMap
      Map of type substitutions.
    • m_activeFacetsMask

      private long m_activeFacetsMask
      Mask for facets active at this level (all facets not in scope of an ignore state).
  • Constructor Details

    • NestingCustomBase

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

    • getSubstitutions

      public QName[] getSubstitutions()
      Get type substitution pairs list.
      Returns:
      substitutions
    • setSubstitutions

      public void setSubstitutions(QName[] subs)
      Set type substitution pairs list.
      Parameters:
      subs -
    • setEnforcedFacets

      public void setEnforcedFacets(String[] facets, IUnmarshallingContext ictx)
      Set the list of facet elements to be enforced.
      Parameters:
      facets -
      ictx -
    • setIgnoredFacets

      public void setIgnoredFacets(String[] facets, IUnmarshallingContext ictx)
      Set the list of facet elements to be ignored.
      Parameters:
      facets -
      ictx -
    • getActiveFacetsMask

      public long getActiveFacetsMask()
      Get the bitmask of facet element flags to be processed.
      Returns:
      bitmask
    • getChildren

      public LazyList getChildren()
      Get child customizations.
      Returns:
      children
    • setReplacement

      protected void setReplacement(QName original, QName replace)
      Set a type replacement.
      Parameters:
      original -
      replace -
    • getReplacement

      public QName getReplacement(QName qname)
      Get replacement type.
      Specified by:
      getReplacement in interface TypeReplacer
      Parameters:
      qname -
      Returns:
      replacement type (null if deletion; original type, if no replacement defined)
    • getAnyType

      public int getAnyType()
      Get the xs:any handling type code to be applied for this component and all nested components. The default value is ANY_DOM if not overridden at any level.
      Returns:
      code
    • setAnyType

      public void setAnyType(int code)
      Set the xs:any handling type code.
      Parameters:
      code - handling code, -1 if to be unset
    • getAnyHandling

      public String getAnyHandling()
      Get the xs:any handling text value set specifically for this element.
      Returns:
      text (null if not set)
    • setAnyHandling

      private void setAnyHandling(String text, IUnmarshallingContext ictx)
      Set the xs:any handling text value. This method is provided only for use when unmarshalling.
      Parameters:
      text - (null if not set)
      ictx -
    • isChoiceExposed

      public boolean isChoiceExposed()
      Check whether xs:choice selection states should be exposed to the user. The default is false if not overridden at any level.
      Returns:
      expose choice state flag
    • getChoiceType

      public int getChoiceType()
      Get the xs:choice handling type code to be applied for this component and all nested components. The default value is SELECTION_CHECKEDSET if not overridden at any level.
      Returns:
      code
    • setChoiceType

      public void setChoiceType(int code)
      Set the xs:choice handling type code.
      Parameters:
      code - handling code, -1 if to be unset
    • getChoiceHandling

      public String getChoiceHandling()
      Get the xs:choice handling text value set specifically for this element.
      Returns:
      text (null if not set)
    • setChoiceHandling

      private void setChoiceHandling(String text, IUnmarshallingContext ictx)
      Set the xs:choice handling text value. This method is provided only for use when unmarshalling.
      Parameters:
      text - (null if not set)
      ictx -
    • isUnionExposed

      public boolean isUnionExposed()
      Check whether xs:union selection states should be exposed to the user. The default is false if not overridden at any level.
      Returns:
      expose union state flag
    • getUnionType

      public int getUnionType()
      Get the xs:union handling type code to be applied for this component and all nested components. The default value is SELECTION_CHECKEDSET if not overridden at any level.
      Returns:
      code
    • setUnionType

      public void setUnionType(int code)
      Set the xs:union handling type code.
      Parameters:
      code - handling code, -1 if to be unset
    • getUnionHandling

      public String getUnionHandling()
      Get the xs:union handling text value set specifically for this element.
      Returns:
      text (null if not set)
    • setUnionHandling

      private void setUnionHandling(String text, IUnmarshallingContext ictx)
      Set the xs:union handling text value. This method is provided only for use when unmarshalling.
      Parameters:
      text - (null if not set)
      ictx -
    • isAttributeInlined

      public boolean isAttributeInlined()
      Check whether xs:attribute definitions should always be inlined, even when used in multiple locations. The default is false if not overridden at any level. TODO: implement in customizations
      Returns:
      inline attribute flag
    • validate

      public boolean validate(ValidationContext vctx)
      Validate and finalize customization information. This creates a new type substitution map and active facets mask, or inherits unchanged values from the parent customization.
      Parameters:
      vctx - validation context
      Returns:
      true if valid, false if not