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
Base class for all extension and restriction element
variations.
- Author:
- Dennis M. Sosnoski
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate QName
'base' attribute value.private CommonTypeDefinition
Referenced type definition (null
if none).static final StringArray
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 -
Method Summary
Modifier and TypeMethodDescriptiongetBase()
Get 'base' attribute value.Get the base type definition.protected boolean
Check if base attribute value is required for this element.abstract boolean
Check if complex type derivation.abstract boolean
Check if extension derivation.void
prevalidate
(ValidationContext vctx) Prevalidate component information.void
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 Details
-
s_allowedAttributes
List of allowed attribute names. -
m_base
'base' attribute value. -
m_typeDef
Referenced type definition (null
if none).
-
-
Constructor Details
-
CommonTypeDerivation
protected CommonTypeDerivation(int type) Constructor.- Parameters:
type
- actual element type
-
-
Method Details
-
getBase
Get 'base' attribute value.- Returns:
- attribute value
-
setBase
Set 'base' attribute value.- Parameters:
base
- attribute value
-
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
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
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
-