Package org.jibx.schema.elements
Class CommonTypeDerivation
- java.lang.Object
-
- org.jibx.schema.elements.SchemaBase
-
- org.jibx.schema.elements.OpenAttrBase
-
- org.jibx.schema.elements.AnnotatedBase
-
- 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
Fields Modifier and Type Field Description 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
Constructors Modifier Constructor Description protected
CommonTypeDerivation(int type)
Constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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
-
-
-
-
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).
-
-
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 interfaceIComponent
- Overrides:
prevalidate
in classAnnotatedBase
- 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. TheSchemaBase.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 interfaceIComponent
- Overrides:
validate
in classSchemaBase
- Parameters:
vctx
- validation context
-
-