Class CommonTypeDerivation

All Implemented Interfaces:
IComponent
Direct Known Subclasses:
CommonComplexModification, CommonSimpleModification

public abstract class CommonTypeDerivation extends AnnotatedBase
Base class for all extension and restriction element variations.
Author:
Dennis M. Sosnoski
  • Field Details

    • s_allowedAttributes

      public static final StringArray s_allowedAttributes
      List of allowed attribute names.
    • m_base

      private QName m_base
      'base' attribute value.
    • m_typeDef

      private CommonTypeDefinition m_typeDef
      Referenced type definition (null if none).
  • Constructor Details

    • CommonTypeDerivation

      protected CommonTypeDerivation(int type)
      Constructor.
      Parameters:
      type - actual element type
  • Method Details

    • getBase

      public QName getBase()
      Get 'base' attribute value.
      Returns:
      attribute value
    • setBase

      public void setBase(QName base)
      Set 'base' attribute value.
      Parameters:
      base - attribute value
    • getBaseType

      public CommonTypeDefinition getBaseType()
      Get the base type definition. This method is only usable after validation.
      Returns:
      base type
    • isComplexType

      public abstract boolean isComplexType()
      Check if complex type derivation.
      Returns:
      true if complex type derivation, false if simple type derivation
    • isExtension

      public abstract boolean isExtension()
      Check if extension derivation.
      Returns:
      true if extension, false if restriction
    • isBaseRequired

      protected boolean isBaseRequired()
      Check if base attribute value is required for this element. This allows subclasses to override the default required status.
      Returns:
      true if base attribute required, false if not
    • 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 AnnotatedBase
      Parameters:
      vctx - validation context
    • 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