Package org.jibx.binding.model
Class ValueElement
java.lang.Object
org.jibx.binding.model.ElementBase
org.jibx.binding.model.ValueElement
- All Implemented Interfaces:
IComponent
Model component for value element. This element defines a value that
can be represented as a simple text string, which may be expressed as an
attribute, element, or text component of the XML document.
- Author:
- Dennis M. Sosnoski
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
private String
Supplied constant value.private int
Actual selected identity.private String
Supplied identity name.private boolean
Nillable object flag.private NameAttributes
Name attributes information for value.private PropertyAttributes
Property attributes information for value.private StringAttributes
String attributes information for value.private int
Actual selected style.private String
Supplied style name.static final int
static final int
static final StringArray
Enumeration of allowed attribute names(package private) static final EnumSet
private static final EnumSet
static final int
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 -
Method Summary
Modifier and TypeMethodDescriptionGet constant value.Get declared type name.Get default value.Get default value text.Get deserializer method information.Get deserializer name.Get name for style that applies to this value.Get enum value method information.Get enum value method name.getField()
Get field information.Get field name.Get base format name.Get format qualified name.getGet()
Get get method information.Get get method name.Get type for value loaded to stack.int
getIdent()
Get identity value.Get identity string value.getName()
Get name.Get effective namespace information.Get specified namespace prefix.Get serializer method information.Get serializer name.getSet()
Get set method information.Get set method name.Get type for value stored from stack.int
getStyle()
Get style value.Get style string value.getTest()
Get test method information.Get test method name.getType()
Get value type information.getUri()
Get specified namespace URI.int
getUsage()
Get usage value.Get usage name.boolean
Check if component defines one or more attribute values of the containing element.boolean
Check if component defines one or more elements or text values as children of the containing element.boolean
hasName()
Check if component has a name.boolean
Check if property is defined.boolean
Check if this value implicitly uses the containing object.boolean
Check if nillable object.boolean
Check if component is an optional item.private void
preSet
(IUnmarshallingContext uctx) Make sure all attributes are defined.void
prevalidate
(ValidationContext vctx) Prevalidate element information.void
setConstantValue
(String value) Set constant value.void
setDeclaredType
(String type) Set declared type name.void
setDefaultText
(String value) Set default value text.void
setDeserializerName
(String name) Set deserializer method name.void
setEffectiveStyle
(int style) Set style that applies to this value.void
setEnumValueName
(String name) Set enum value method name.void
setFieldName
(String field) Set field name.void
setFormatName
(String name) Set base format name.void
setFormatQName
(QName qname) Set format qualified name.void
setGetName
(String get) Set get method name.void
setIdentName
(String name) Set identity name.void
Set name.void
setNillable
(boolean nillable) Set nillable flag.void
Set namespace prefix.void
setSerializerName
(String name) Set serializer method name.void
setSetName
(String set) Set set method name.void
setStyleName
(String name) Set style name.void
setTestName
(String test) Set test method name.void
Set namespace URI.void
setUsage
(int use) Set usage value.void
setUsageName
(String name) Set usage name.void
validate
(ValidationContext vctx) Validate element information.Methods inherited from class org.jibx.binding.model.ElementBase
getComment, name, setComment, toString, type, validateAttributes
-
Field Details
-
s_allowedAttributes
Enumeration of allowed attribute names -
CDATA_STYLE
public static final int CDATA_STYLE- See Also:
-
TEXT_STYLE
public static final int TEXT_STYLE- See Also:
-
s_styleEnum
-
NONE_IDENT
public static final int NONE_IDENT- See Also:
-
DEF_IDENT
public static final int DEF_IDENT- See Also:
-
REF_IDENT
public static final int REF_IDENT- See Also:
-
s_identEnum
-
m_constantValue
Supplied constant value. -
m_styleName
Supplied style name. -
m_styleIndex
private int m_styleIndexActual selected style. -
m_identName
Supplied identity name. -
m_isNillable
private boolean m_isNillableNillable object flag. -
m_identIndex
private int m_identIndexActual selected identity. -
m_nameAttrs
Name attributes information for value. -
m_propertyAttrs
Property attributes information for value. -
m_stringAttrs
String attributes information for value.
-
-
Constructor Details
-
ValueElement
public ValueElement()Constructor.
-
-
Method Details
-
getConstantValue
Get constant value.- Returns:
- constant value, or
null
if not a constant
-
setConstantValue
Set constant value.- Parameters:
value
- constant value, ornull
if not a constant
-
getStyleName
Get style string value.- Returns:
- style string value
-
getStyle
public int getStyle()Get style value. This call is only meaningful after validation.- Returns:
- style value
-
setStyleName
Set style name.- Parameters:
name
- style name (null
if to use inherited default)
-
getEffectiveStyleName
Get name for style that applies to this value. This call is only meaningful after validation.- Returns:
- name for style
-
setEffectiveStyle
public void setEffectiveStyle(int style) Set style that applies to this value. If the specified style is different from the nested default it is applied directly, otherwise this value is configured to use the default. This method should therefore only be used when the nested settings are considered fixed. TODO: implement this with parent links- Parameters:
style
- style value
-
getIdentName
Get identity string value.- Returns:
- identity string value
-
getIdent
public int getIdent()Get identity value. This call is only meaningful after validation.- Returns:
- identity value
-
setIdentName
Set identity name.- Parameters:
name
- identity name
-
getName
Get name.- Specified by:
getName
in interfaceIComponent
- Returns:
- name text
-
setName
Set name.- Parameters:
name
- text for name
-
getUri
Get specified namespace URI.- Specified by:
getUri
in interfaceIComponent
- Returns:
- namespace URI (
null
if not set)
-
setUri
Set namespace URI.- Parameters:
uri
- namespace URI (null
if not set)
-
getPrefix
Get specified namespace prefix.- Returns:
- namespace prefix (
null
if not set)
-
setPrefix
Set namespace prefix.- Parameters:
prefix
- namespace prefix (null
if 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:
true
if property defined,false
if not
-
getDeclaredType
Get declared type name.- Returns:
- type name (or
null
if none)
-
setDeclaredType
Set declared type name.- Parameters:
type
- name (ornull
if none)
-
getFieldName
Get field name.- Returns:
- field name (or
null
if none)
-
getField
Get field information. This call is only meaningful after a call toprevalidate(ValidationContext)
.- Returns:
- field information (or
null
if none)
-
setFieldName
Set field name.- Parameters:
field
- field name (ornull
if none)
-
getTestName
Get test method name.- Returns:
- test method name (or
null
if none)
-
getTest
Get test method information. This call is only meaningful after a call toprevalidate(ValidationContext)
.- Returns:
- test method information (or
null
if none)
-
setTestName
Set test method name.- Parameters:
test
- test method name (ornull
if none)
-
getGetName
Get get method name.- Returns:
- get method name (or
null
if none)
-
getGet
Get get method information. This call is only meaningful after a call toprevalidate(ValidationContext)
.- Returns:
- get method information (or
null
if none)
-
getGetType
Get type for value loaded to stack. This call is only meaningful after a call toprevalidate(ValidationContext)
.- Returns:
- get value type (or
null
if none)
-
setGetName
Set get method name.- Parameters:
get
- get method name (ornull
if none)
-
getSetName
Get set method name.- Returns:
- set method name (or
null
if none)
-
getSet
Get set method information. This call is only meaningful after a call toprevalidate(ValidationContext)
.- Returns:
- set method information (or
null
if none)
-
getSetType
Get type for value stored from stack. This call is only meaningful after a call toprevalidate(ValidationContext)
.- Returns:
- set value type (or
null
if none)
-
setSetName
Set set method name.- Parameters:
set
- set method name (ornull
if none)
-
isNillable
public boolean isNillable()Check if nillable object.- Returns:
- nillable flag
-
setNillable
public void setNillable(boolean nillable) Set nillable flag.- Parameters:
nillable
- flag
-
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:
isImplicit
in interfaceIComponent
- Returns:
true
if using the containing object,false
if own value
-
getDefaultText
Get default value text.- Returns:
- default value text
-
getDefault
Get default value. This call is only meaningful after validation.- Returns:
- default value object
-
setDefaultText
Set default value text.- Parameters:
value
- default value text
-
getEnumValue
Get enum value method information. This method is only usable after a call tovalidate(ValidationContext)
.- Returns:
- enum value method information (or
null
if none)
-
getEnumValueName
Get enum value method name.- Returns:
- enum value method name (or
null
if none)
-
setEnumValueName
Set enum value method name.- Parameters:
name
- enum value method name (null
if none)
-
getFormatName
Get base format name.- Returns:
- referenced base format
-
setFormatName
Set base format name.- Parameters:
name
- referenced base format
-
getFormatQName
Get format qualified name.- Returns:
- format qualified name (
null
if none)
-
setFormatQName
Set format qualified name. This method changes the label value to match the qualified name.- Parameters:
qname
- format qualified name (null
if none)
-
getSerializerName
Get serializer name.- Returns:
- fully qualified class and method name for serializer (or
null
if none)
-
getSerializer
Get serializer method information. This call is only meaningful after validation.- Returns:
- serializer information (or
null
if none)
-
setSerializerName
Set serializer method name.- Parameters:
name
- fully qualified class and method name for serializer
-
getDeserializerName
Get deserializer name.- Returns:
- fully qualified class and method name for deserializer (or
null
if none)
-
getDeserializer
Get deserializer method information. This call is only meaningful after validation.- Returns:
- deserializer information (or
null
if none)
-
setDeserializerName
Set deserializer method name.- Parameters:
name
- fully qualified class and method name for deserializer
-
hasAttribute
public boolean hasAttribute()Description copied from interface:IComponent
Check if component defines one or more attribute values of the containing element. This method is only valid after validation.- Specified by:
hasAttribute
in interfaceIComponent
- Returns:
true
if one or more attribute values defined for containing element,false
if not
-
hasContent
public boolean hasContent()Description copied from interface:IComponent
Check 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:
hasContent
in interfaceIComponent
- Returns:
true
if one or more content values defined for containing element,false
if not
-
isOptional
public boolean isOptional()Description copied from interface:IComponent
Check if component is an optional item.- Specified by:
isOptional
in interfaceIComponent
- Returns:
true
if optional,false
if required
-
hasName
public boolean hasName()Description copied from interface:IComponent
Check if component has a name.- Specified by:
hasName
in interfaceIComponent
- Returns:
true
if component has a name,false
if not
-
getType
Description copied from interface:IComponent
Get value type information. This call is only meaningful after prevalidation.- Specified by:
getType
in interfaceIComponent
- Returns:
- type information
-
preSet
Make sure all attributes are defined.- Parameters:
uctx
- unmarshalling context
-
prevalidate
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 classElementBase
- Parameters:
vctx
- validation context
-
validate
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 classElementBase
- Parameters:
vctx
- validation context
-