org.jibx.schema.elements
Class CommonTypeDerivation

java.lang.Object
  extended by org.jibx.schema.elements.SchemaBase
      extended by org.jibx.schema.elements.OpenAttrBase
          extended by org.jibx.schema.elements.AnnotatedBase
              extended by org.jibx.schema.elements.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 Summary
private  QName m_base
          'base' attribute value.
private  CommonTypeDefinition m_typeDef
          Referenced type definition (null if none).
static StringArray s_allowedAttributes
          List of allowed attribute names.
 
Fields inherited from class org.jibx.schema.elements.SchemaBase
ALL_TYPE, ANNOTATION_TYPE, ANY_TYPE, ANYATTRIBUTE_TYPE, APPINFO_TYPE, ATTRIBUTE_TYPE, ATTRIBUTEGROUP_TYPE, CHOICE_TYPE, COMPLEXCONTENT_TYPE, COMPLEXTYPE_TYPE, DOCUMENTATION_TYPE, ELEMENT_MASKS, ELEMENT_NAMES, ELEMENT_TYPE, ENUMERATION_TYPE, EXTENSION_TYPE, FIELD_TYPE, FRACTIONDIGITS_TYPE, GROUP_TYPE, IMPORT_TYPE, INCLUDE_TYPE, KEY_TYPE, KEYREF_TYPE, LENGTH_TYPE, LIST_TYPE, MAXEXCLUSIVE_TYPE, MAXINCLUSIVE_TYPE, MAXLENGTH_TYPE, MINEXCLUSIVE_TYPE, MININCLUSIVE_TYPE, MINLENGTH_TYPE, NOTATION_TYPE, PATTERN_TYPE, REDEFINE_TYPE, RESTRICTION_TYPE, SCHEMA_TYPE, SELECTOR_TYPE, SEQUENCE_TYPE, SIMPLECONTENT_TYPE, SIMPLETYPE_TYPE, TOTALDIGITS_TYPE, UNION_TYPE, UNIQUE_TYPE, WHITESPACE_TYPE
 
Fields inherited from interface org.jibx.schema.IComponent
SCHEMA_NAMESPACE
 
Constructor Summary
protected CommonTypeDerivation(int type)
          Constructor.
 
Method Summary
 QName getBase()
          Get 'base' attribute value.
 CommonTypeDefinition getBaseType()
          Get the base type definition.
protected  boolean isBaseRequired()
          Check if base attribute value is required for this element.
abstract  boolean isComplexType()
          Check if complex type derivation.
abstract  boolean isExtension()
          Check if extension derivation.
 void prevalidate(ValidationContext vctx)
          Prevalidate component information.
 void setBase(QName base)
          Set 'base' attribute value.
 void validate(ValidationContext vctx)
          Validate component information.
 
Methods inherited from class org.jibx.schema.elements.AnnotatedBase
getAnnotation, getId, setAnnotation, setId
 
Methods inherited from class org.jibx.schema.elements.OpenAttrBase
addExtraAttribute, clearExtraAttributes, compactChildren, detachChild, getChild, getChildCount, getChildIterator, getChildrenWritable, getExtraAttributes, preget, replaceChild, validateAttributes
 
Methods inherited from class org.jibx.schema.elements.SchemaBase
addNamespaceDeclaration, bit, clearNamespaceDeclarations, getExtension, getNamespaceDeclarations, getParent, getSchema, isGlobal, name, preset, readNamespaces, setExtension, setParent, type, validateAttributes, writeNamespaces
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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 Detail

CommonTypeDerivation

protected CommonTypeDerivation(int type)
Constructor.

Parameters:
type - actual element type
Method Detail

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


Project Web Site