Package org.jibx.binding.model
Class StructureElement
- java.lang.Object
-
- org.jibx.binding.model.ElementBase
-
- org.jibx.binding.model.NestingElementBase
-
- org.jibx.binding.model.ContainerElementBase
-
- org.jibx.binding.model.StructureElementBase
-
- org.jibx.binding.model.StructureElement
-
- All Implemented Interfaces:
IComponent
public class StructureElement extends StructureElementBase
Model component for structure element of binding definition.- Author:
- Dennis M. Sosnoski
-
-
Field Summary
Fields Modifier and Type Field Description static StringArrays_allowedAttributesEnumeration of allowed attribute names-
Fields inherited from class org.jibx.binding.model.ElementBase
BINDING_ELEMENT, COLLECTION_ELEMENT, ELEMENT_NAMES, FORMAT_ELEMENT, INCLUDE_ELEMENT, INPUT_ELEMENT, MAPPING_ELEMENT, NAMESPACE_ELEMENT, OUTPUT_ELEMENT, SPLIT_ELEMENT, STRUCTURE_ELEMENT, TEMPLATE_ELEMENT, VALUE_ELEMENT
-
-
Constructor Summary
Constructors Constructor Description StructureElement()Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidclassifyComponents(ValidationContext vctx)Classify child components as contributing attributes, content, or both.TemplateElementBasegetEffectiveMapping()Get actual type mapping.StringgetMapAsName()Get name of mapping type.org.jibx.runtime.QNamegetMapAsQName()Get qualified name of mapping type.StringgetName()Get name.IClassgetType()Get value type information.StringgetUri()Get specified namespace URI.booleanhasAttribute()Check if component defines one or more attribute values of the containing element.booleanhasContent()Check if component defines one or more elements or text values as children of the containing element.booleanhasDirectName()Check if this structure defines a name directly.booleanhasName()Check if component has a name.voidsetMapAsName(String name)Set name of mapping type.voidsetMapAsQName(org.jibx.runtime.QName name)Set qualified name of mapping type.voidvalidate(ValidationContext vctx)Validate element information.-
Methods inherited from class org.jibx.binding.model.StructureElementBase
getDeclaredType, getField, getFieldName, getFlag, getGet, getGetName, getGetType, getNamespace, getObjectType, getPrefix, getSet, getSetName, getSetType, getTest, getTestName, getUsage, getUsageName, hasObject, hasProperty, isFlagOnly, isImplicit, isOptional, prevalidate, setDeclaredType, setFieldName, setFlagName, setGetName, setName, setPrefix, setSetName, setTestName, setUri, setUsage, setUsageName
-
Methods inherited from class org.jibx.binding.model.ContainerElementBase
checkCompatibleChildren, getAttributeComponents, getChildObjectType, getContentComponents, getCreateClass, getCreateType, getFactory, getFactoryName, getId, getLabel, getMarshaller, getMarshallerName, getPostset, getPostsetName, getPreget, getPregetName, getPreset, getPresetName, getUnmarshaller, getUnmarshallerName, getUsing, isAllowRepeats, isChoice, isClassified, isFlexible, isNillable, isOrdered, setAllowRepeats, setChoice, setComponents, setCreateType, setFactoryName, setFlexible, setIdChild, setLabel, setMarshallerName, setNillable, setOrdered, setPostsetName, setPregetName, setPresetName, setUnmarshallerName, setUsing, verifyConstruction
-
Methods inherited from class org.jibx.binding.model.NestingElementBase
addChild, childIterator, children, getDefaultStyle, getDefinitions, getStyle, getStyleName, setStyleName
-
Methods inherited from class org.jibx.binding.model.ElementBase
getComment, name, setComment, toString, type, validateAttributes
-
-
-
-
Field Detail
-
s_allowedAttributes
public static final StringArray s_allowedAttributes
Enumeration of allowed attribute names
-
-
Method Detail
-
getMapAsName
public String getMapAsName()
Get name of mapping type.- Returns:
- mapping type name (or
nullif none)
-
setMapAsName
public void setMapAsName(String name)
Set name of mapping type. This method changes the qualified name to match the mapping type.- Parameters:
name- mapping type name (ornullif none)
-
getMapAsQName
public org.jibx.runtime.QName getMapAsQName()
Get qualified name of mapping type.- Returns:
- mapping qualified type name (or
nullif none)
-
setMapAsQName
public void setMapAsQName(org.jibx.runtime.QName name)
Set qualified name of mapping type. This method changes the mapping name to match the qualified name.- Parameters:
name- mapping qualified type name (ornullif none)
-
getEffectiveMapping
public TemplateElementBase getEffectiveMapping()
Get actual type mapping. This call is only meaningful after validation.- Returns:
- actual type mapping (or
nullif none)
-
hasDirectName
public boolean hasDirectName()
Check if this structure defines a name directly.- Returns:
trueif name defined,falseif not
-
hasName
public boolean hasName()
Description copied from interface:IComponentCheck if component has a name.- Specified by:
hasNamein interfaceIComponent- Overrides:
hasNamein classStructureElementBase- Returns:
trueif component has a name,falseif not
-
getName
public String getName()
Description copied from class:StructureElementBaseGet name.- Specified by:
getNamein interfaceIComponent- Overrides:
getNamein classStructureElementBase- Returns:
- name text
-
getUri
public String getUri()
Description copied from class:StructureElementBaseGet specified namespace URI.- Specified by:
getUriin interfaceIComponent- Overrides:
getUriin classStructureElementBase- Returns:
- namespace URI (
nullif not set)
-
hasAttribute
public boolean hasAttribute()
Description copied from interface:IComponentCheck if component defines one or more attribute values of the containing element. This method is only valid after validation.- Specified by:
hasAttributein interfaceIComponent- Overrides:
hasAttributein classStructureElementBase- Returns:
trueif one or more attribute values defined for containing element,falseif not
-
hasContent
public boolean hasContent()
Description copied from interface:IComponentCheck if component defines one or more elements or text values as children of the containing element. This method is only valid after validation.- Specified by:
hasContentin interfaceIComponent- Overrides:
hasContentin classStructureElementBase- Returns:
trueif one or more content values defined for containing element,falseif not
-
getType
public IClass getType()
Description copied from interface:IComponentGet value type information. This call is only meaningful after prevalidation.- Specified by:
getTypein interfaceIComponent- Overrides:
getTypein classStructureElementBase- Returns:
- type information
-
classifyComponents
protected void classifyComponents(ValidationContext vctx)
Classify child components as contributing attributes, content, or both. This method is needed to handle on-demand classification during validation. When a child component is another instance of this class, the method calls itself on the child component prior to checking the child component's contribution.- Overrides:
classifyComponentsin classContainerElementBase- Parameters:
vctx-
-
validate
public void validate(ValidationContext vctx)
Description copied from class:ElementBaseValidate element information. The validation step is used for checking the interactions between elements, such as name references to other elements. TheElementBase.prevalidate(org.jibx.binding.model.ValidationContext)method will always be called for every element in the binding definition before this method is called for any element. This empty base class implementation should be overridden by each subclass that requires validation handling.- Overrides:
validatein classStructureElementBase- Parameters:
vctx- validation context
-
-