Package org.jibx.schema.elements
Class SchemaElement
java.lang.Object
org.jibx.schema.elements.SchemaBase
org.jibx.schema.elements.OpenAttrBase
org.jibx.schema.elements.SchemaElement
- All Implemented Interfaces:
IComponent
Model component for schema element.
- Author:
- Dennis M. Sosnoski
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
'attributeFormDefault' attribute value (-1
if not set).private AllEnumSet
'blockDefault' attribute value.private final LazyList
Schemas which directly reference this schema.private String
Effective namespace overriding the target namespace (null
if unused).private int
'elementFormDefault' attribute value (-1
if not set).private AllEnumSet
'finalDefault' attribute value.private String
"id" attribute value.private NameRegister
Register for names from this context.private ISchemaResolver
Resolver for this schema.private final FilteredSegmentList
Filtered list of schema reference child elements.private String
'targetNamespace' attribute value.private final FilteredSegmentList
Filtered list of top-level definition child elements.private String
'version' attribute value.static final StringArray
List of allowed attribute namesprivate static final Logger
Logger for class.private static final long
Mask bits for schema reference child elements.private static final long
Mask bits for top-level definition child elements.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 TypeMethodDescriptionint
Get 'attributeFormDefault' attribute type code.Get 'attributeFormDefault' attribute text.getBlock()
Get 'blockDefault' attribute.Get the effective namespace which applies to this schema.int
Get 'elementFormDefault' attribute type code.Get 'elementFormDefault' attribute text.getFinal()
Get 'finalDefault' attribute.private String
getName()
Get the schema name for logging validation.Get register for named components of schema.Get resolver.Get list of schema-related child elements.Get 'targetNamespace' attribute.Get list of top-level definition child elements.Get 'version' attribute.boolean
Check if attributes are qualified by default.boolean
Check if elements are qualified by default.protected void
preset
(IUnmarshallingContext ictx) Pre-set method to be called by data binding while parsing element start tag.void
prevalidate
(ValidationContext vctx) Prevalidate component information.void
setAttributeFormDefault
(int type) Set 'attributeFormDefault' attribute type code.private void
setAttributeFormDefaultText
(String text, IUnmarshallingContext ictx) Set 'attributeFormDefault' attribute text.void
Set the effective namespace to be applied to this schema.void
setElementFormDefault
(int type) Set 'elementFormDefault' attribute type code.private void
setElementFormDefaultText
(String text, IUnmarshallingContext ictx) Set 'elementFormDefault' attribute text.void
setResolver
(ISchemaResolver resolver) Set resolver.void
setTargetNamespace
(String tns) Set 'targetNamespace' attribute.void
setVersion
(String version) Set 'version' attribute.void
validate
(ValidationContext vctx) Validate component information.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, readNamespaces, setExtension, setParent, type, validateAttributes, writeNamespaces
-
Field Details
-
s_logger
private static final Logger s_loggerLogger for class. -
s_allowedAttributes
List of allowed attribute names -
SCHEMA_REFERENCE_MASK
private static final long SCHEMA_REFERENCE_MASKMask bits for schema reference child elements. -
TOP_LEVEL_DEFINITION_MASK
private static final long TOP_LEVEL_DEFINITION_MASKMask bits for top-level definition child elements. -
m_schemaChildren
Filtered list of schema reference child elements. -
m_topLevelChildren
Filtered list of top-level definition child elements. -
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
'blockDefault' attribute value. -
m_finalDefault
'finalDefault' attribute value. -
m_id
"id" attribute value. -
m_targetNamespace
'targetNamespace' attribute value. -
m_effectiveNamespace
Effective namespace overriding the target namespace (null
if unused). -
m_version
'version' attribute value. -
m_resolver
Resolver for this schema. -
m_register
Register for names from this context.
-
-
Constructor Details
-
SchemaElement
public SchemaElement()Constructor.
-
-
Method Details
-
preset
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 classSchemaBase
- Parameters:
ictx
- unmarshalling context- Throws:
JiBXException
- on error
-
getSchemaChildren
Get list of schema-related child elements.- Returns:
- child list
-
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
Get 'attributeFormDefault' attribute text.- Returns:
- text (
null
if not set)
-
setAttributeFormDefaultText
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
Get 'elementFormDefault' attribute text.- Returns:
- text (
null
if not set)
-
setElementFormDefaultText
Set 'elementFormDefault' attribute text. This method is provided only for use when unmarshalling.- Parameters:
text
-ictx
-
-
getBlock
Get 'blockDefault' attribute.- Returns:
- block default
-
getFinal
Get 'finalDefault' attribute.- Returns:
- final default
-
getTargetNamespace
Get 'targetNamespace' attribute. Note that for most purposes thegetEffectiveNamespace()
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
Set 'targetNamespace' attribute.- Parameters:
tns
- target namespace (null
if none)
-
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
Set the effective namespace to be applied to this schema.- Parameters:
ens
- effective namespace (null
if the same as 'targetNamespace' attribute)
-
getVersion
Get 'version' attribute.- Returns:
- version
-
setVersion
Set 'version' attribute.- Parameters:
version
-
-
getResolver
Get resolver.- Returns:
- resolver
-
setResolver
Set resolver.- Parameters:
resolver
-
-
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
Get the schema name for logging validation.- Returns:
- name
-
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
-
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 classSchemaBase
- Parameters:
vctx
- validation context
-