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 (-1if not set).private AllEnumSet'blockDefault' attribute value.private final LazyListSchemas which directly reference this schema.private StringEffective namespace overriding the target namespace (nullif unused).private int'elementFormDefault' attribute value (-1if not set).private AllEnumSet'finalDefault' attribute value.private String"id" attribute value.private NameRegisterRegister for names from this context.private ISchemaResolverResolver for this schema.private final FilteredSegmentListFiltered list of schema reference child elements.private String'targetNamespace' attribute value.private final FilteredSegmentListFiltered list of top-level definition child elements.private String'version' attribute value.static final StringArrayList of allowed attribute namesprivate static final LoggerLogger for class.private static final longMask bits for schema reference child elements.private static final longMask 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_TYPEFields inherited from interface org.jibx.schema.IComponent
SCHEMA_NAMESPACE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintGet 'attributeFormDefault' attribute type code.Get 'attributeFormDefault' attribute text.getBlock()Get 'blockDefault' attribute.Get the effective namespace which applies to this schema.intGet 'elementFormDefault' attribute type code.Get 'elementFormDefault' attribute text.getFinal()Get 'finalDefault' attribute.private StringgetName()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.booleanCheck if attributes are qualified by default.booleanCheck if elements are qualified by default.protected voidpreset(IUnmarshallingContext ictx) Pre-set method to be called by data binding while parsing element start tag.voidprevalidate(ValidationContext vctx) Prevalidate component information.voidsetAttributeFormDefault(int type) Set 'attributeFormDefault' attribute type code.private voidsetAttributeFormDefaultText(String text, IUnmarshallingContext ictx) Set 'attributeFormDefault' attribute text.voidSet the effective namespace to be applied to this schema.voidsetElementFormDefault(int type) Set 'elementFormDefault' attribute type code.private voidsetElementFormDefaultText(String text, IUnmarshallingContext ictx) Set 'elementFormDefault' attribute text.voidsetResolver(ISchemaResolver resolver) Set resolver.voidsetTargetNamespace(String tns) Set 'targetNamespace' attribute.voidsetVersion(String version) Set 'version' attribute.voidvalidate(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, validateAttributesMethods 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 (-1if not set). -
m_elementFormDefaultType
private int m_elementFormDefaultType'elementFormDefault' attribute value (-1if 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 (nullif 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:SchemaBasePre-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:
presetin 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 (
nullif 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 (
nullif 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 (
nullif none)
-
setTargetNamespace
Set 'targetNamespace' attribute.- Parameters:
tns- target namespace (nullif 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 (
nullif none)
-
setEffectiveNamespace
Set the effective namespace to be applied to this schema.- Parameters:
ens- effective namespace (nullif 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:
trueif qualified,falseif not
-
isAttributeQualifiedDefault
public boolean isAttributeQualifiedDefault()Check if attributes are qualified by default.- Returns:
trueif qualified,falseif not
-
getName
Get the schema name for logging validation.- Returns:
- name
-
validate
Description copied from class:SchemaBaseValidate 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:
validatein interfaceIComponent- Overrides:
validatein classSchemaBase- Parameters:
vctx- validation context
-
prevalidate
Description copied from class:SchemaBasePrevalidate 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:
prevalidatein interfaceIComponent- Overrides:
prevalidatein classSchemaBase- Parameters:
vctx- validation context
-