Class SchemaElement

All Implemented Interfaces:
IComponent

public class SchemaElement extends OpenAttrBase
Model component for schema element.
Author:
Dennis M. Sosnoski
  • Field Details

    • s_logger

      private static final Logger s_logger
      Logger for class.
    • s_allowedAttributes

      public static final StringArray s_allowedAttributes
      List of allowed attribute names
    • SCHEMA_REFERENCE_MASK

      private static final long SCHEMA_REFERENCE_MASK
      Mask bits for schema reference child elements.
    • TOP_LEVEL_DEFINITION_MASK

      private static final long TOP_LEVEL_DEFINITION_MASK
      Mask bits for top-level definition child elements.
    • m_schemaChildren

      private final FilteredSegmentList m_schemaChildren
      Filtered list of schema reference child elements.
    • m_topLevelChildren

      private final FilteredSegmentList m_topLevelChildren
      Filtered list of top-level definition child elements.
    • m_dependentSchemas

      private final LazyList m_dependentSchemas
      Schemas which directly reference this schema.
    • m_attributeFormDefaultType

      private int m_attributeFormDefaultType
      'attributeFormDefault' attribute value (-1 if not set).
    • m_elementFormDefaultType

      private int m_elementFormDefaultType
      'elementFormDefault' attribute value (-1 if not set).
    • m_blockDefault

      private AllEnumSet m_blockDefault
      'blockDefault' attribute value.
    • m_finalDefault

      private AllEnumSet m_finalDefault
      'finalDefault' attribute value.
    • m_id

      private String m_id
      "id" attribute value.
    • m_targetNamespace

      private String m_targetNamespace
      'targetNamespace' attribute value.
    • m_effectiveNamespace

      private String m_effectiveNamespace
      Effective namespace overriding the target namespace (null if unused).
    • m_version

      private String m_version
      'version' attribute value.
    • m_resolver

      private ISchemaResolver m_resolver
      Resolver for this schema.
    • m_register

      private NameRegister m_register
      Register for names from this context.
  • Constructor Details

    • SchemaElement

      public SchemaElement()
      Constructor.
  • Method Details

    • preset

      protected void preset(IUnmarshallingContext ictx) throws JiBXException
      Description copied from class: SchemaBase
      Pre-set method to be called by data binding while parsing element start tag. The base class implementation just sets the parent element link and reads in any extra namespaces defined on the element. Subclasses which override this implementation must call the base implementation during their processing.
      Overrides:
      preset in class SchemaBase
      Parameters:
      ictx - unmarshalling context
      Throws:
      JiBXException - on error
    • getSchemaChildren

      public FilteredSegmentList getSchemaChildren()
      Get list of schema-related child elements.
      Returns:
      child list
    • getTopLevelChildren

      public FilteredSegmentList getTopLevelChildren()
      Get list of top-level definition child elements.
      Returns:
      child list
    • getAttributeFormDefault

      public int getAttributeFormDefault()
      Get 'attributeFormDefault' attribute type code.
      Returns:
      type
    • setAttributeFormDefault

      public void setAttributeFormDefault(int type)
      Set 'attributeFormDefault' attribute type code.
      Parameters:
      type -
    • getAttributeFormDefaultText

      public String getAttributeFormDefaultText()
      Get 'attributeFormDefault' attribute text.
      Returns:
      text (null if not set)
    • setAttributeFormDefaultText

      private void setAttributeFormDefaultText(String text, IUnmarshallingContext ictx)
      Set 'attributeFormDefault' attribute text. This method is provided only for use when unmarshalling.
      Parameters:
      text -
      ictx -
    • getElementFormDefault

      public int getElementFormDefault()
      Get 'elementFormDefault' attribute type code.
      Returns:
      type
    • setElementFormDefault

      public void setElementFormDefault(int type)
      Set 'elementFormDefault' attribute type code.
      Parameters:
      type -
    • getElementFormDefaultText

      public String getElementFormDefaultText()
      Get 'elementFormDefault' attribute text.
      Returns:
      text (null if not set)
    • setElementFormDefaultText

      private void setElementFormDefaultText(String text, IUnmarshallingContext ictx)
      Set 'elementFormDefault' attribute text. This method is provided only for use when unmarshalling.
      Parameters:
      text -
      ictx -
    • getBlock

      public AllEnumSet getBlock()
      Get 'blockDefault' attribute.
      Returns:
      block default
    • getFinal

      public AllEnumSet getFinal()
      Get 'finalDefault' attribute.
      Returns:
      final default
    • getTargetNamespace

      public String getTargetNamespace()
      Get 'targetNamespace' attribute. Note that for most purposes the getEffectiveNamespace() method should be used instead, since that method returns the namespace which should be used for definitions within this schema.
      Returns:
      target namespace (null if none)
    • setTargetNamespace

      public void setTargetNamespace(String tns)
      Set 'targetNamespace' attribute.
      Parameters:
      tns - target namespace (null if none)
    • getEffectiveNamespace

      public String getEffectiveNamespace()
      Get the effective namespace which applies to this schema. This will differ from the 'targetNamespace' attribute in the case where a no-namespace schema is included (directly or indirectly) into a namespaced schema.
      Returns:
      effective namespace (null if none)
    • setEffectiveNamespace

      public void setEffectiveNamespace(String ens)
      Set the effective namespace to be applied to this schema.
      Parameters:
      ens - effective namespace (null if the same as 'targetNamespace' attribute)
    • getVersion

      public String getVersion()
      Get 'version' attribute.
      Returns:
      version
    • setVersion

      public void setVersion(String version)
      Set 'version' attribute.
      Parameters:
      version -
    • getResolver

      public ISchemaResolver getResolver()
      Get resolver.
      Returns:
      resolver
    • setResolver

      public void setResolver(ISchemaResolver resolver)
      Set resolver.
      Parameters:
      resolver -
    • getRegister

      public NameRegister getRegister()
      Get register for named components of schema.
      Returns:
      register
    • isElementQualifiedDefault

      public boolean isElementQualifiedDefault()
      Check if elements are qualified by default.
      Returns:
      true if qualified, false if not
    • isAttributeQualifiedDefault

      public boolean isAttributeQualifiedDefault()
      Check if attributes are qualified by default.
      Returns:
      true if qualified, false if not
    • getName

      private String getName()
      Get the schema name for logging validation.
      Returns:
      name
    • validate

      public void validate(ValidationContext vctx)
      Description copied from class: SchemaBase
      Validate component information. The validation step is used for checking the interactions between components, such as name references to other components. The SchemaBase.prevalidate(org.jibx.schema.validation.ValidationContext) method will always be called for every component in the schema definition before this method is called for any component. This empty base class implementation should be overridden by each subclass that requires validation handling.
      Specified by:
      validate in interface IComponent
      Overrides:
      validate in class SchemaBase
      Parameters:
      vctx - validation context
    • prevalidate

      public void prevalidate(ValidationContext vctx)
      Description copied from class: SchemaBase
      Prevalidate component information. The prevalidation step is used to check isolated aspects of a component, such as the settings for enumerated values. This empty base class implementation should be overridden by each subclass that requires prevalidation handling.
      Specified by:
      prevalidate in interface IComponent
      Overrides:
      prevalidate in class SchemaBase
      Parameters:
      vctx - validation context