Package org.jibx.binding.model
Class StructureElementBase
java.lang.Object
org.jibx.binding.model.ElementBase
org.jibx.binding.model.NestingElementBase
org.jibx.binding.model.ContainerElementBase
org.jibx.binding.model.StructureElementBase
- All Implemented Interfaces:
IComponent
- Direct Known Subclasses:
CollectionElement,StructureElement
Model component for elements that define the binding structure for an object
property. This is the base class for structure and collection
elements.
- Author:
- Dennis M. Sosnoski
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanFlag for child of collection element (only meaningful after prevalidation).private NameAttributesName attributes information for nesting.private PropertyAttributesProperty attributes information for nesting.static final StringArrayEnumeration of allowed attribute namesFields 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 -
Method Summary
Modifier and TypeMethodDescriptionGet declared type name.getField()Get field information.Get field name.getFlag()Get flag method information.getGet()Get get method information.Get get method name.Get type for value loaded to stack.getName()Get name.Get effective namespace information.Get class linked to binding element.Get specified namespace prefix.getSet()Get set method information.Get set method name.Get type for value stored from stack.getTest()Get test method information.Get test method name.getType()Get value type information.getUri()Get specified namespace URI.intgetUsage()Get usage value.Get usage name.booleanCheck if component defines one or more attribute values of the containing element.booleanCheck if component defines one or more elements or text values as children of the containing element.booleanhasName()Check if component has a name.booleanCheck if this container defines a context object.booleanCheck if property is defined.booleanCheck if property is flag only.booleanCheck if this value implicitly uses the containing object.booleanCheck if component is an optional item.voidprevalidate(ValidationContext vctx) Prevalidate element information.voidsetDeclaredType(String type) Set declared type name.voidsetFieldName(String field) Set field name.voidsetFlagName(String flag) Set flag method name.voidsetGetName(String get) Set get method name.voidSet name.voidSet namespace prefix.voidsetSetName(String set) Set set method name.voidsetTestName(String test) Set test method name.voidSet namespace URI.voidsetUsage(int use) Set usage value.voidsetUsageName(String name) Set usage name.voidvalidate(ValidationContext vctx) Validate element information.Methods inherited from class org.jibx.binding.model.ContainerElementBase
checkCompatibleChildren, classifyComponents, 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, verifyConstructionMethods inherited from class org.jibx.binding.model.NestingElementBase
addChild, childIterator, children, getDefaultStyle, getDefinitions, getStyle, getStyleName, setDefinitions, setStyleNameMethods inherited from class org.jibx.binding.model.ElementBase
getComment, name, setComment, toString, type, validateAttributes
-
Field Details
-
s_allowedAttributes
Enumeration of allowed attribute names -
m_propertyAttrs
Property attributes information for nesting. -
m_nameAttrs
Name attributes information for nesting. -
m_collectionItem
private boolean m_collectionItemFlag for child of collection element (only meaningful after prevalidation).
-
-
Constructor Details
-
StructureElementBase
protected StructureElementBase(int type) Constructor.- Parameters:
type- element type code
-
-
Method Details
-
getName
Get name.- Specified by:
getNamein interfaceIComponent- Returns:
- name text
-
setName
Set name.- Parameters:
name- text for name
-
getUri
Get specified namespace URI.- Specified by:
getUriin interfaceIComponent- Returns:
- namespace URI (
nullif not set)
-
setUri
Set namespace URI.- Parameters:
uri- namespace URI (nullif not set)
-
getPrefix
Get specified namespace prefix.- Returns:
- namespace prefix (
nullif not set)
-
setPrefix
Set namespace prefix.- Parameters:
prefix- namespace prefix (nullif not set)
-
getNamespace
Get effective namespace information. This call is only meaningful after validation.- Returns:
- effective namespace information
-
getUsageName
Get usage name.- Returns:
- usage name
-
getUsage
public int getUsage()Get usage value. This call is only meaningful after a call toprevalidate(ValidationContext).- Returns:
- usage value
-
setUsageName
Set usage name.- Parameters:
name- usage name
-
setUsage
public void setUsage(int use) Set usage value.- Parameters:
use- value
-
hasProperty
public boolean hasProperty()Check if property is defined. This method is only meaningful after a call toprevalidate(ValidationContext).- Returns:
trueif property defined,falseif not
-
isFlagOnly
public boolean isFlagOnly()Check if property is flag only. This method is only meaningful after a call toprevalidate(ValidationContext).- Returns:
trueif flag property,falseif not
-
getDeclaredType
Get declared type name.- Returns:
- type name (or
nullif none)
-
setDeclaredType
Set declared type name.- Parameters:
type- name (ornullif none)
-
getFieldName
Get field name.- Returns:
- field name (or
nullif none)
-
getField
Get field information. This call is only meaningful after a call toprevalidate(ValidationContext).- Returns:
- field information (or
nullif none)
-
setFieldName
Set field name.- Parameters:
field- field name (ornullif none)
-
getTestName
Get test method name.- Returns:
- test method name (or
nullif none)
-
getTest
Get test method information. This call is only meaningful after a call toprevalidate(ValidationContext).- Returns:
- test method information (or
nullif none)
-
setTestName
Set test method name.- Parameters:
test- test method name (ornullif none)
-
getFlag
Get flag method information. This call is only meaningful after a call toprevalidate(ValidationContext).- Returns:
- flag method information (or
nullif none)
-
setFlagName
Set flag method name.- Parameters:
flag- flag method name (ornullif none)
-
getGetName
Get get method name.- Returns:
- get method name (or
nullif none)
-
getGet
Get get method information. This call is only meaningful after a call toprevalidate(ValidationContext).- Returns:
- get method information (or
nullif none)
-
getGetType
Get type for value loaded to stack. This call is only meaningful after a call toprevalidate(ValidationContext).- Returns:
- get value type (or
nullif none)
-
setGetName
Set get method name.- Parameters:
get- get method name (ornullif none)
-
getSetName
Get set method name.- Returns:
- set method name (or
nullif none)
-
getSet
Get set method information. This call is only meaningful after a call toprevalidate(ValidationContext).- Returns:
- set method information (or
nullif none)
-
getSetType
Get type for value stored from stack. This call is only meaningful after a call toprevalidate(ValidationContext).- Returns:
- set value type (or
nullif none)
-
setSetName
Set set method name.- Parameters:
set- set method name (ornullif none)
-
isImplicit
public boolean isImplicit()Check if this value implicitly uses the containing object. This call is only meaningful after a call toprevalidate(ValidationContext).- Specified by:
isImplicitin interfaceIComponent- Returns:
trueif using the containing object,falseif own value
-
isOptional
public boolean isOptional()Description copied from interface:IComponentCheck if component is an optional item.- Specified by:
isOptionalin interfaceIComponent- Returns:
trueif optional,falseif required
-
hasObject
public boolean hasObject()Description copied from class:ContainerElementBaseCheck if this container defines a context object.- Specified by:
hasObjectin classContainerElementBase- Returns:
trueif defines context object,falseif not
-
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- 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- Returns:
trueif one or more content values defined for containing element,falseif not
-
hasName
public boolean hasName()Description copied from interface:IComponentCheck if component has a name.- Specified by:
hasNamein interfaceIComponent- Returns:
trueif component has a name,falseif not
-
getType
Description copied from interface:IComponentGet value type information. This call is only meaningful after prevalidation.- Specified by:
getTypein interfaceIComponent- Returns:
- type information
-
getObjectType
Description copied from class:ContainerElementBaseGet class linked to binding element. This call is only meaningful after validation.- Specified by:
getObjectTypein classContainerElementBase- Returns:
- information for class linked by binding
-
prevalidate
Description copied from class:ElementBasePrevalidate element information. The prevalidation step is used to check isolated aspects of an element, such as the settings for enumerated values on the element and attributes. This empty base class implementation should be overridden by each subclass that requires prevalidation handling.- Overrides:
prevalidatein classContainerElementBase- Parameters:
vctx- validation context
-
validate
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 classContainerElementBase- Parameters:
vctx- validation context
-