org.jibx.binding.model
Class ValueElement

java.lang.Object
  extended by org.jibx.binding.model.ElementBase
      extended by org.jibx.binding.model.ValueElement
All Implemented Interfaces:
IComponent

public class ValueElement
extends ElementBase
implements 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
static int CDATA_STYLE
           
static int DEF_IDENT
           
private  java.lang.String m_constantValue
          Supplied constant value.
private  int m_identIndex
          Actual selected identity.
private  java.lang.String m_identName
          Supplied identity name.
private  boolean m_isNillable
          Nillable object flag.
private  NameAttributes m_nameAttrs
          Name attributes information for value.
private  PropertyAttributes m_propertyAttrs
          Property attributes information for value.
private  StringAttributes m_stringAttrs
          String attributes information for value.
private  int m_styleIndex
          Actual selected style.
private  java.lang.String m_styleName
          Supplied style name.
static int NONE_IDENT
           
static int REF_IDENT
           
static StringArray s_allowedAttributes
          Enumeration of allowed attribute names
(package private) static EnumSet s_identEnum
           
private static EnumSet s_styleEnum
           
static int TEXT_STYLE
           
 
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
ValueElement()
          Constructor.
 
Method Summary
 java.lang.String getConstantValue()
          Get constant value.
 java.lang.String getDeclaredType()
          Get declared type name.
 java.lang.Object getDefault()
          Get default value.
 java.lang.String getDefaultText()
          Get default value text.
 IClassItem getDeserializer()
          Get deserializer method information.
 java.lang.String getDeserializerName()
          Get deserializer name.
 java.lang.String getEffectiveStyleName()
          Get name for style that applies to this value.
 IClassItem getEnumValue()
          Get enum value method information.
 java.lang.String getEnumValueName()
          Get enum value method name.
 IClassItem getField()
          Get field information.
 java.lang.String getFieldName()
          Get field name.
 java.lang.String getFormatName()
          Get base format name.
 QName getFormatQName()
          Get format qualified name.
 IClassItem getGet()
          Get get method information.
 java.lang.String getGetName()
          Get get method name.
 IClass getGetType()
          Get type for value loaded to stack.
 int getIdent()
          Get identity value.
 java.lang.String getIdentName()
          Get identity string value.
 java.lang.String getName()
          Get name.
 NamespaceElement getNamespace()
          Get effective namespace information.
 java.lang.String getPrefix()
          Get specified namespace prefix.
 IClassItem getSerializer()
          Get serializer method information.
 java.lang.String getSerializerName()
          Get serializer name.
 IClassItem getSet()
          Get set method information.
 java.lang.String getSetName()
          Get set method name.
 IClass getSetType()
          Get type for value stored from stack.
 int getStyle()
          Get style value.
 java.lang.String getStyleName()
          Get style string value.
 IClassItem getTest()
          Get test method information.
 java.lang.String getTestName()
          Get test method name.
 IClass getType()
          Get value type information.
 java.lang.String getUri()
          Get specified namespace URI.
 int getUsage()
          Get usage value.
 java.lang.String getUsageName()
          Get usage name.
 boolean hasAttribute()
          Check if component defines one or more attribute values of the containing element.
 boolean hasContent()
          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 hasProperty()
          Check if property is defined.
 boolean isImplicit()
          Check if this value implicitly uses the containing object.
 boolean isNillable()
          Check if nillable object.
 boolean isOptional()
          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(java.lang.String value)
          Set constant value.
 void setDeclaredType(java.lang.String type)
          Set declared type name.
 void setDefaultText(java.lang.String value)
          Set default value text.
 void setDeserializerName(java.lang.String name)
          Set deserializer method name.
 void setEffectiveStyle(int style)
          Set style that applies to this value.
 void setEnumValueName(java.lang.String name)
          Set enum value method name.
 void setFieldName(java.lang.String field)
          Set field name.
 void setFormatName(java.lang.String name)
          Set base format name.
 void setFormatQName(QName qname)
          Set format qualified name.
 void setGetName(java.lang.String get)
          Set get method name.
 void setIdentName(java.lang.String name)
          Set identity name.
 void setName(java.lang.String name)
          Set name.
 void setNillable(boolean nillable)
          Set nillable flag.
 void setPrefix(java.lang.String prefix)
          Set namespace prefix.
 void setSerializerName(java.lang.String name)
          Set serializer method name.
 void setSetName(java.lang.String set)
          Set set method name.
 void setStyleName(java.lang.String name)
          Set style name.
 void setTestName(java.lang.String test)
          Set test method name.
 void setUri(java.lang.String uri)
          Set namespace URI.
 void setUsage(int use)
          Set usage value.
 void setUsageName(java.lang.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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

s_allowedAttributes

public static final StringArray s_allowedAttributes
Enumeration of allowed attribute names


CDATA_STYLE

public static final int CDATA_STYLE
See Also:
Constant Field Values

TEXT_STYLE

public static final int TEXT_STYLE
See Also:
Constant Field Values

s_styleEnum

private static final EnumSet s_styleEnum

NONE_IDENT

public static final int NONE_IDENT
See Also:
Constant Field Values

DEF_IDENT

public static final int DEF_IDENT
See Also:
Constant Field Values

REF_IDENT

public static final int REF_IDENT
See Also:
Constant Field Values

s_identEnum

static final EnumSet s_identEnum

m_constantValue

private java.lang.String m_constantValue
Supplied constant value.


m_styleName

private java.lang.String m_styleName
Supplied style name.


m_styleIndex

private int m_styleIndex
Actual selected style.


m_identName

private java.lang.String m_identName
Supplied identity name.


m_isNillable

private boolean m_isNillable
Nillable object flag.


m_identIndex

private int m_identIndex
Actual selected identity.


m_nameAttrs

private NameAttributes m_nameAttrs
Name attributes information for value.


m_propertyAttrs

private PropertyAttributes m_propertyAttrs
Property attributes information for value.


m_stringAttrs

private StringAttributes m_stringAttrs
String attributes information for value.

Constructor Detail

ValueElement

public ValueElement()
Constructor.

Method Detail

getConstantValue

public java.lang.String getConstantValue()
Get constant value.

Returns:
constant value, or null if not a constant

setConstantValue

public void setConstantValue(java.lang.String value)
Set constant value.

Parameters:
value - constant value, or null if not a constant

getStyleName

public java.lang.String 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

public void setStyleName(java.lang.String name)
Set style name.

Parameters:
name - style name (null if to use inherited default)

getEffectiveStyleName

public java.lang.String 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

public java.lang.String 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

public void setIdentName(java.lang.String name)
Set identity name.

Parameters:
name - identity name

getName

public java.lang.String getName()
Get name.

Specified by:
getName in interface IComponent
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.

Specified by:
getUri in interface IComponent
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

getUsageName

public java.lang.String getUsageName()
Get usage name.

Returns:
usage name

getUsage

public int getUsage()
Get usage value. This call is only meaningful after a call to prevalidate(ValidationContext).

Returns:
usage value

setUsageName

public void setUsageName(java.lang.String name)
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 to prevalidate(ValidationContext).

Returns:
true if property defined, false if not

getDeclaredType

public java.lang.String getDeclaredType()
Get declared type name.

Returns:
type name (or null if none)

setDeclaredType

public void setDeclaredType(java.lang.String type)
Set declared type name.

Parameters:
type - name (or null if none)

getFieldName

public java.lang.String getFieldName()
Get field name.

Returns:
field name (or null if none)

getField

public IClassItem getField()
Get field information. This call is only meaningful after a call to prevalidate(ValidationContext).

Returns:
field information (or null if none)

setFieldName

public void setFieldName(java.lang.String field)
Set field name.

Parameters:
field - field name (or null if none)

getTestName

public java.lang.String getTestName()
Get test method name.

Returns:
test method name (or null if none)

getTest

public IClassItem getTest()
Get test method information. This call is only meaningful after a call to prevalidate(ValidationContext).

Returns:
test method information (or null if none)

setTestName

public void setTestName(java.lang.String test)
Set test method name.

Parameters:
test - test method name (or null if none)

getGetName

public java.lang.String getGetName()
Get get method name.

Returns:
get method name (or null if none)

getGet

public IClassItem getGet()
Get get method information. This call is only meaningful after a call to prevalidate(ValidationContext).

Returns:
get method information (or null if none)

getGetType

public IClass getGetType()
Get type for value loaded to stack. This call is only meaningful after a call to prevalidate(ValidationContext).

Returns:
get value type (or null if none)

setGetName

public void setGetName(java.lang.String get)
Set get method name.

Parameters:
get - get method name (or null if none)

getSetName

public java.lang.String getSetName()
Get set method name.

Returns:
set method name (or null if none)

getSet

public IClassItem getSet()
Get set method information. This call is only meaningful after a call to prevalidate(ValidationContext).

Returns:
set method information (or null if none)

getSetType

public IClass getSetType()
Get type for value stored from stack. This call is only meaningful after a call to prevalidate(ValidationContext).

Returns:
set value type (or null if none)

setSetName

public void setSetName(java.lang.String set)
Set set method name.

Parameters:
set - set method name (or null 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 to prevalidate(ValidationContext).

Specified by:
isImplicit in interface IComponent
Returns:
true if using the containing object, false if own value

getDefaultText

public java.lang.String getDefaultText()
Get default value text.

Returns:
default value text

getDefault

public java.lang.Object getDefault()
Get default value. This call is only meaningful after validation.

Returns:
default value object

setDefaultText

public void setDefaultText(java.lang.String value)
Set default value text.

Parameters:
value - default value text

getEnumValue

public IClassItem getEnumValue()
Get enum value method information. This method is only usable after a call to validate(ValidationContext).

Returns:
enum value method information (or null if none)

getEnumValueName

public java.lang.String getEnumValueName()
Get enum value method name.

Returns:
enum value method name (or null if none)

setEnumValueName

public void setEnumValueName(java.lang.String name)
Set enum value method name.

Parameters:
name - enum value method name (null if none)

getFormatName

public java.lang.String getFormatName()
Get base format name.

Returns:
referenced base format

setFormatName

public void setFormatName(java.lang.String name)
Set base format name.

Parameters:
name - referenced base format

getFormatQName

public QName getFormatQName()
Get format qualified name.

Returns:
format qualified name (null if none)

setFormatQName

public void setFormatQName(QName qname)
Set format qualified name. This method changes the label value to match the qualified name.

Parameters:
qname - format qualified name (null if none)

getSerializerName

public java.lang.String getSerializerName()
Get serializer name.

Returns:
fully qualified class and method name for serializer (or null if none)

getSerializer

public IClassItem getSerializer()
Get serializer method information. This call is only meaningful after validation.

Returns:
serializer information (or null if none)

setSerializerName

public void setSerializerName(java.lang.String name)
Set serializer method name.

Parameters:
name - fully qualified class and method name for serializer

getDeserializerName

public java.lang.String getDeserializerName()
Get deserializer name.

Returns:
fully qualified class and method name for deserializer (or null if none)

getDeserializer

public IClassItem getDeserializer()
Get deserializer method information. This call is only meaningful after validation.

Returns:
deserializer information (or null if none)

setDeserializerName

public void setDeserializerName(java.lang.String name)
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 interface IComponent
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 interface IComponent
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 interface IComponent
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 interface IComponent
Returns:
true if component has a name, false if not

getType

public IClass getType()
Description copied from interface: IComponent
Get value type information. This call is only meaningful after prevalidation.

Specified by:
getType in interface IComponent
Returns:
type information

preSet

private void preSet(IUnmarshallingContext uctx)
Make sure all attributes are defined.

Parameters:
uctx - unmarshalling context

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 class ElementBase
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. The ElementBase.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 class ElementBase
Parameters:
vctx - validation context


Project Web Site