Package org.jibx.binding.model
Class MappingElementBase
- java.lang.Object
-
- org.jibx.binding.model.ElementBase
-
- org.jibx.binding.model.NestingElementBase
-
- org.jibx.binding.model.ContainerElementBase
-
- org.jibx.binding.model.TemplateElementBase
-
- org.jibx.binding.model.MappingElementBase
-
- Direct Known Subclasses:
MappingElement
,PrecompiledMappingElement
public abstract class MappingElementBase extends TemplateElementBase
Model component for mapping element of binding definition. Subclasses are used for mappings in normal or precompiled bindings.- Author:
- Dennis M. Sosnoski
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
m_extendsName
Name of mapped class extended by this mapping.private boolean
m_isAbstract
Abstract mapping flag.private NameAttributes
m_nameAttrs
Name attributes information for nesting.private QName
m_typeQName
Type qualified name (defaults to fully-qualified class name in no-namespace namespace).static StringArray
s_allowedAttributes
Enumeration of allowed attribute names-
Fields inherited from class org.jibx.binding.model.TemplateElementBase
m_topChildren
-
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 MappingElementBase(int type)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getExtendsName()
Get name of mapped class extended by this one.java.lang.String
getName()
Get name.NameAttributes
getNameAttributes()
Get name attributes.NamespaceElement
getNamespace()
Get effective namespace information.java.lang.String
getPrefix()
Get specified namespace prefix.private java.lang.String
getQualifiedTypeName(IMarshallingContext ictx)
JiBX access method to get mapping type name as qualified name.java.lang.String
getTypeName()
Get type name.QName
getTypeQName()
Get type qualified name.java.lang.String
getUri()
Get specified namespace URI.boolean
isAbstract()
Check for abstract mapping.boolean
isDefaultTemplate()
Check if this is a default template.private void
preSet(IUnmarshallingContext uctx)
Make sure all attributes are defined.void
prevalidate(ValidationContext vctx)
Prevalidate element information.void
setAbstract(boolean abs)
Set abstract mapping.void
setExtendsName(java.lang.String name)
Set name of mapped class extended by this one.void
setName(java.lang.String name)
Set name.void
setPrefix(java.lang.String prefix)
Set namespace prefix.private void
setQualifiedTypeName(java.lang.String text, IUnmarshallingContext ictx)
JiBX access method to set mapping type name as qualified name.void
setTypeName(java.lang.String name)
Set type name.void
setTypeQName(QName qname)
Set type qualified name.void
setUri(java.lang.String uri)
Set namespace URI.void
validate(ValidationContext vctx)
Validate element information.-
Methods inherited from class org.jibx.binding.model.TemplateElementBase
addExtensionType, addTopChild, getClassName, getExtensionTypes, getHandledClass, getObjectType, getType, hasObject, isImplicit, isOptional, setClassName, topChildIterator, topChildren
-
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, verifyConstruction
-
Methods inherited from class org.jibx.binding.model.NestingElementBase
addChild, childIterator, children, getDefaultStyle, getDefinitions, getStyle, getStyleName, setDefinitions, 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
-
m_isAbstract
private boolean m_isAbstract
Abstract mapping flag.
-
m_nameAttrs
private NameAttributes m_nameAttrs
Name attributes information for nesting.
-
m_extendsName
private java.lang.String m_extendsName
Name of mapped class extended by this mapping.
-
m_typeQName
private QName m_typeQName
Type qualified name (defaults to fully-qualified class name in no-namespace namespace).
-
-
Method Detail
-
isAbstract
public boolean isAbstract()
Check for abstract mapping.- Returns:
true
if abstract,false
if not
-
setAbstract
public void setAbstract(boolean abs)
Set abstract mapping.- Parameters:
abs
-true
if abstract,false
if not
-
getTypeName
public java.lang.String getTypeName()
Get type name.- Returns:
- type name
-
setTypeName
public void setTypeName(java.lang.String name)
Set type name.- Parameters:
name
- type name
-
getTypeQName
public QName getTypeQName()
Get type qualified name.- Returns:
- type qualified name
-
setTypeQName
public void setTypeQName(QName qname)
Set type qualified name.- Parameters:
qname
- type qualified name
-
isDefaultTemplate
public boolean isDefaultTemplate()
Check if this is a default template.- Specified by:
isDefaultTemplate
in classTemplateElementBase
- Returns:
true
if default,false
if not
-
getNameAttributes
public NameAttributes getNameAttributes()
Get name attributes. This is provided for use with the name attributes as a hash key.- Returns:
- name attributes structure
-
getName
public java.lang.String getName()
Get name.- Returns:
- name text
-
setName
public void setName(java.lang.String name)
Set name.- Parameters:
name
- text for name
-
getUri
public java.lang.String getUri()
Get specified namespace URI.- Returns:
- namespace URI (
null
if not set)
-
setUri
public void setUri(java.lang.String uri)
Set namespace URI.- Parameters:
uri
- namespace URI (null
if not set)
-
getPrefix
public java.lang.String getPrefix()
Get specified namespace prefix.- Returns:
- namespace prefix (
null
if not set)
-
setPrefix
public void setPrefix(java.lang.String prefix)
Set namespace prefix.- Parameters:
prefix
- namespace prefix (null
if not set)
-
getNamespace
public NamespaceElement getNamespace()
Get effective namespace information. This call is only meaningful after validation.- Returns:
- effective namespace information
-
preSet
private void preSet(IUnmarshallingContext uctx) throws JiBXException
Make sure all attributes are defined.- Parameters:
uctx
- unmarshalling context- Throws:
JiBXException
- on unmarshalling error
-
setExtendsName
public void setExtendsName(java.lang.String name)
Set name of mapped class extended by this one.- Parameters:
name
-
-
getExtendsName
public java.lang.String getExtendsName()
Get name of mapped class extended by this one.- Returns:
- name
-
setQualifiedTypeName
private void setQualifiedTypeName(java.lang.String text, IUnmarshallingContext ictx) throws JiBXException
JiBX access method to set mapping type name as qualified name.- Parameters:
text
- mapping name text (null
if none)ictx
- unmarshalling context- Throws:
JiBXException
- on deserialization error
-
getQualifiedTypeName
private java.lang.String getQualifiedTypeName(IMarshallingContext ictx) throws JiBXException
JiBX access method to get mapping type name as qualified name.- Parameters:
ictx
- marshalling context- Returns:
- mapping type name text (
null
if none) - Throws:
JiBXException
- on deserialization error
-
prevalidate
public void prevalidate(ValidationContext vctx)
Description copied from class:ElementBase
Prevalidate 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:
prevalidate
in classTemplateElementBase
- Parameters:
vctx
- validation context
-
validate
public void validate(ValidationContext vctx)
Description copied from class:ElementBase
Validate 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:
validate
in classTemplateElementBase
- Parameters:
vctx
- validation context
-
-