org.jibx.custom.classes
Class ValueCustom

java.lang.Object
  extended by org.jibx.custom.classes.CustomBase
      extended by org.jibx.custom.classes.SharedValueBase
          extended by org.jibx.custom.classes.ValueCustom

public class ValueCustom
extends SharedValueBase

Member field or property customization information.

Author:
Dennis M. Sosnoski

Field Summary
private  java.lang.String m_fieldName
          'field' attribute value (null if none).
private  java.lang.String m_getName
          'get-method' attribute value (null if none).
private  boolean m_private
          Private property flag.
private  java.lang.String m_propertyName
          'property-name' attribute value (null if none).
private  java.lang.String m_setName
          'set-method' attribute value (null if none).
static StringArray s_allowedAttributes
          Enumeration of allowed attribute names
 
Fields inherited from class org.jibx.custom.classes.CustomBase
CAMEL_CASE_NAMES, DERIVE_BY_PACKAGE, DERIVE_FIXED, DERIVE_NONE, DOTTED_NAMES, HYPHENATED_NAMES, REQUIRE_ALL, REQUIRE_NONE, REQUIRE_OBJECTS, REQUIRE_PRIMITIVES, s_namespaceStyleEnum, s_nameStyleEnum, s_requireEnum, UNDERSCORED_NAMES, UPPER_CAMEL_CASE_NAMES
 
Constructor Summary
protected ValueCustom(SharedNestingBase parent)
          Constructor.
protected ValueCustom(SharedNestingBase parent, java.lang.String name)
          Constructor with name known.
 
Method Summary
private static ValueCustom factory(IUnmarshallingContext ictx)
          Factory method for creating instances during unmarshalling.
(package private)  void fillDetails(IClass info, java.lang.Boolean req, java.lang.Integer style)
          Complete customization information based on whatever field or access method information has been set.
(package private)  void fillDetails(IClassItem field, IClassItem gmeth, IClassItem smeth, IClassLocator icl, java.lang.Boolean req, java.lang.Integer style)
          Complete customization information based on either field or access method information.
 java.lang.String getFieldName()
          Get 'field' attribute value.
 java.lang.String getGetName()
          Get 'get-method' attribute name.
 java.lang.String getPropertyName()
          Get 'property-name' attribute value.
 java.lang.String getSetName()
          Get 'set-method' attribute name.
 boolean isPrivate()
          Check if a private member.
 boolean isProperty()
          Check if member represents a property.
static java.lang.String memberNameFromField(java.lang.String name, java.lang.String[] prefs, java.lang.String[] suffs)
          Get the member name for a field from the field name.
static java.lang.String memberNameFromGetMethod(java.lang.String name)
          Get the member name for a property from the read method name.
static java.lang.String memberNameFromSetMethod(java.lang.String name)
          Get the member name for a property from the write method name.
protected  void postSet()
          Post-set method that handles checking attribute combinations and sets the actual member name.
protected  void preSet(IUnmarshallingContext uctx)
          Make sure all attributes are defined.
private  void setAttribute(java.lang.String text, IUnmarshallingContext ictx)
          Set attribute name method.
private  void setElement(java.lang.String text, IUnmarshallingContext ictx)
          Set element name method.
 
Methods inherited from class org.jibx.custom.classes.SharedValueBase
convertMemberNameCase, fillType, getActualType, getBaseName, getClassCustom, getCreateType, getFactoryMethod, getItemName, getItemType, getStatedType, getStyle, getWorkingType, getXmlName, isCollection, isElementForced, isRequired, setBaseName, setElementForced, setItemName, setItemType, setStyle, setXmlName
 
Methods inherited from class org.jibx.custom.classes.CustomBase
convertName, deriveItemName, deriveNamespace, getContainingObject, getGlobal, getParent, packageOfType, packageToNamespace, validateAttributes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

s_allowedAttributes

public static final StringArray s_allowedAttributes
Enumeration of allowed attribute names


m_private

private boolean m_private
Private property flag.


m_fieldName

private java.lang.String m_fieldName
'field' attribute value (null if none).


m_getName

private java.lang.String m_getName
'get-method' attribute value (null if none).


m_setName

private java.lang.String m_setName
'set-method' attribute value (null if none).


m_propertyName

private java.lang.String m_propertyName
'property-name' attribute value (null if none).

Constructor Detail

ValueCustom

protected ValueCustom(SharedNestingBase parent)
Constructor.

Parameters:
parent -

ValueCustom

protected ValueCustom(SharedNestingBase parent,
                      java.lang.String name)
Constructor with name known.

Parameters:
parent -
name -
Method Detail

memberNameFromGetMethod

public static java.lang.String memberNameFromGetMethod(java.lang.String name)
Get the member name for a property from the read method name. This means stripping off the leading "get" or "is" prefix, then case-converting the result.

Parameters:
name -
Returns:
member name
See Also:
SharedValueBase.convertMemberNameCase(String), memberNameFromSetMethod(String), memberNameFromField(String, String[], String[])

memberNameFromSetMethod

public static java.lang.String memberNameFromSetMethod(java.lang.String name)
Get the member name for a property from the write method name. This means stripping off the leading "set" prefix, then case-converting the result.

Parameters:
name -
Returns:
member name
See Also:
SharedValueBase.convertMemberNameCase(String), memberNameFromGetMethod(String), memberNameFromField(String, String[], String[])

memberNameFromField

public static java.lang.String memberNameFromField(java.lang.String name,
                                                   java.lang.String[] prefs,
                                                   java.lang.String[] suffs)
Get the member name for a field from the field name. This means stripping off and leading field name prefix and/or trailing suffix, then case-converting the result.

Parameters:
name -
prefs - field prefixes to be stripped
suffs - field suffixes to be stripped
Returns:
member name
See Also:
SharedValueBase.convertMemberNameCase(String), memberNameFromGetMethod(String), memberNameFromSetMethod(String)

setElement

private void setElement(java.lang.String text,
                        IUnmarshallingContext ictx)
Set element name method. This is intended for use during unmarshalling, so it needs to allow for being called with a null value. TODO: add validation

Parameters:
text - (null if attribute not present)
ictx -

setAttribute

private void setAttribute(java.lang.String text,
                          IUnmarshallingContext ictx)
Set attribute name method. This is intended for use during unmarshalling, so it needs to allow for being called with a null value. TODO: add validation

Parameters:
text - (null if attribute not present)
ictx -

isProperty

public boolean isProperty()
Check if member represents a property.

Returns:
true

isPrivate

public boolean isPrivate()
Check if a private member.

Returns:
true if private, false if not

getFieldName

public java.lang.String getFieldName()
Get 'field' attribute value.

Returns:
'field' value (null if none)

getGetName

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

Returns:
'get' attribute name (null if none)

getSetName

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

Returns:
'set-method' attribute name (null if none)

getPropertyName

public java.lang.String getPropertyName()
Get 'property-name' attribute value.

Returns:
property name (null if none)

preSet

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

Parameters:
uctx - unmarshalling context

postSet

protected void postSet()
                throws JiBXException
Post-set method that handles checking attribute combinations and sets the actual member name.

Throws:
JiBXException

fillDetails

void fillDetails(IClassItem field,
                 IClassItem gmeth,
                 IClassItem smeth,
                 IClassLocator icl,
                 java.lang.Boolean req,
                 java.lang.Integer style)
Complete customization information based on either field or access method information.

Parameters:
field - (null if none)
gmeth - read access method (null if none)
smeth - write access method (null if none)
icl - class locator
req - required member flag (null if unknown)
style - representation style (null if unspecified)

fillDetails

void fillDetails(IClass info,
                 java.lang.Boolean req,
                 java.lang.Integer style)
Complete customization information based on whatever field or access method information has been set.

Parameters:
info - containing class information
req - required member flag (null if unknown)
style - representation style (null if unspecified)

factory

private static ValueCustom factory(IUnmarshallingContext ictx)
Factory method for creating instances during unmarshalling.

Parameters:
ictx -
Returns:
instance


Project Web Site