org.jibx.custom.classes
Class SharedValueBase

java.lang.Object
  extended by org.jibx.custom.classes.CustomBase
      extended by org.jibx.custom.classes.SharedValueBase
Direct Known Subclasses:
ValueCustom, ValueCustom

public class SharedValueBase
extends CustomBase

Base class for all value customization information. This includes inherited values shared with customization extensions (in particular, the WSDL extensions). TODO: should this include more of the WSDL ValueCustom extensions? Look into how type mappings are handled in the BindGen code (uses bound type in WSDL)

Author:
Dennis M. Sosnoski

Field Summary
private  java.lang.String m_actualType
          'actual-type' attribute value (null if none).
private  java.lang.String m_baseName
          Value name as used in code.
private  boolean m_collection
          Repeated value flag.
private  java.lang.String m_createType
          'create-type' attribute value (null if none).
private  boolean m_elementForced
          Element representation forced flag.
private  java.lang.String m_factoryMethod
          'factory' attribute value (null if none).
private  java.lang.String m_itemName
          'item-name' attribute value (null if none).
private  java.lang.String m_itemType
          'item-type' attribute value (null if none).
private  java.lang.String m_itemWorkingName
          Name for item elements in collection.
private  java.lang.String m_itemWorkingType
          Type of item values in collection.
private  boolean m_primitive
          Primitive value flag.
private  java.lang.Boolean m_required
          'required' attribute value (null if none).
private  java.lang.String m_statedType
          Stated type, as used in code.
private  java.lang.Integer m_style
          Style used for representation (null if unspecified and derived from type).
private  java.lang.String m_workingType
          Type used when working with the value (actual type from customization, if supplied, or stated type).
private  java.lang.String m_xmlName
          Element or attribute name from customization (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 SharedValueBase(SharedNestingBase parent)
          Constructor.
protected SharedValueBase(SharedNestingBase parent, java.lang.String name)
          Constructor with name known.
 
Method Summary
static java.lang.String convertMemberNameCase(java.lang.String name)
          Convert case of member name derived from name used in code.
protected  void fillType(IClass info, java.lang.Boolean req, java.lang.Integer style)
          Complete customization information based on supplied type.
 java.lang.String getActualType()
          Get 'actual-type' attribute value.
 java.lang.String getBaseName()
          Get value name as used in code.
 ClassCustom getClassCustom()
          Convenience method to access the containing class customization element.
 java.lang.String getCreateType()
          Get 'create-type' attribute value.
 java.lang.String getFactoryMethod()
          Get 'factory' attribute value.
 java.lang.String getItemName()
          Get item element name.
 java.lang.String getItemType()
          Get item type.
 java.lang.String getStatedType()
          Get stated type of value, as declared in code.
 int getStyle()
          Get style code to apply to value.
private  java.lang.String getStyleText()
          Style get text method.
 java.lang.String getWorkingType()
          Get working type of member.
 java.lang.String getXmlName()
          Get XML element or attribute name from customization.
 boolean isCollection()
          Check if collection member.
 boolean isElementForced()
          Check if element required.
 boolean isRequired()
          Check if value is required.
protected  void setBaseName(java.lang.String name)
          Set value name as used in code.
protected  void setElementForced()
          Set element required.
protected  void setItemName(java.lang.String name)
          Set item name.
protected  void setItemType(java.lang.String type)
          Set item type.
protected  void setStyle(java.lang.Integer style)
          Set style code to apply to value.
 void setXmlName(java.lang.String name)
          Set XML element or attribute name from customization.
 
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_baseName

private java.lang.String m_baseName
Value name as used in code.


m_elementForced

private boolean m_elementForced
Element representation forced flag.


m_statedType

private java.lang.String m_statedType
Stated type, as used in code.


m_workingType

private java.lang.String m_workingType
Type used when working with the value (actual type from customization, if supplied, or stated type).


m_itemWorkingType

private java.lang.String m_itemWorkingType
Type of item values in collection.


m_itemWorkingName

private java.lang.String m_itemWorkingName
Name for item elements in collection.


m_primitive

private boolean m_primitive
Primitive value flag.


m_collection

private boolean m_collection
Repeated value flag.


m_style

private java.lang.Integer m_style
Style used for representation (null if unspecified and derived from type).


m_xmlName

private java.lang.String m_xmlName
Element or attribute name from customization (null if none).


m_actualType

private java.lang.String m_actualType
'actual-type' attribute value (null if none).


m_createType

private java.lang.String m_createType
'create-type' attribute value (null if none).


m_factoryMethod

private java.lang.String m_factoryMethod
'factory' attribute value (null if none).


m_required

private java.lang.Boolean m_required
'required' attribute value (null if none).


m_itemType

private java.lang.String m_itemType
'item-type' attribute value (null if none).


m_itemName

private java.lang.String m_itemName
'item-name' attribute value (null if none).

Constructor Detail

SharedValueBase

protected SharedValueBase(SharedNestingBase parent)
Constructor.

Parameters:
parent -

SharedValueBase

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

Parameters:
parent -
name -
Method Detail

getClassCustom

public ClassCustom getClassCustom()
Convenience method to access the containing class customization element.

Returns:
class customization

getBaseName

public java.lang.String getBaseName()
Get value name as used in code. This is the actual name with any prefix or suffix stripped and the initial letter converted to lowercase unless the second letter is uppercase.

Returns:
name

setBaseName

protected void setBaseName(java.lang.String name)
Set value name as used in code. This is only for use by subclasses.

Parameters:
name -
See Also:
getBaseName()

getStatedType

public java.lang.String getStatedType()
Get stated type of value, as declared in code.

Returns:
stated type

getWorkingType

public java.lang.String getWorkingType()
Get working type of member. This is the actual type from customization, if supplied, or stated type

Returns:
working type

convertMemberNameCase

public static java.lang.String convertMemberNameCase(java.lang.String name)
Convert case of member name derived from name used in code. If the supplied name starts with an uppercase letter followed by a lowercase letter, the initial letter is converted to lowercase in order to obtain a standard form of the name.

Parameters:
name -
Returns:
converted name

getStyle

public int getStyle()
Get style code to apply to value.

Returns:
value from NestingBase.s_valueStyleEnum enumeration

setStyle

protected void setStyle(java.lang.Integer style)
Set style code to apply to value. This method is only intended for use by subclasses.

Parameters:
style -

getXmlName

public java.lang.String getXmlName()
Get XML element or attribute name from customization.

Returns:
name (null if none)

setXmlName

public void setXmlName(java.lang.String name)
Set XML element or attribute name from customization. This method is only intended for use by subclasses.

Parameters:
name -

getActualType

public java.lang.String getActualType()
Get 'actual-type' attribute value.

Returns:
member actual type (null if none)

getCreateType

public java.lang.String getCreateType()
Get 'create-type' attribute value.

Returns:
type used for creating new instance (null if none)

getFactoryMethod

public java.lang.String getFactoryMethod()
Get 'factory' attribute value.

Returns:
method used for creating new instance (null if none)

isRequired

public boolean isRequired()
Check if value is required.

Returns:
true if required, false if not

isElementForced

public boolean isElementForced()
Check if element required. This is really only relevant when the value represents a collection of child elements, since it means a wrapper element is needed.

Returns:
true if element required, false if not

setElementForced

protected void setElementForced()
Set element required. This method is only intended for use by subclasses.


getStyleText

private java.lang.String getStyleText()
Style get text method. This is intended for use during marshalling. TODO: add validation

Returns:
text

isCollection

public boolean isCollection()
Check if collection member.

Returns:
true if collection, false if not

getItemType

public java.lang.String getItemType()
Get item type.

Returns:
item type

setItemType

protected void setItemType(java.lang.String type)
Set item type. This method is intended only for use by subclasses.

Parameters:
type -

getItemName

public java.lang.String getItemName()
Get item element name.

Returns:
item name

setItemName

protected void setItemName(java.lang.String name)
Set item name. This method is intended only for use by subclasses.

Parameters:
name -

fillType

protected void fillType(IClass info,
                        java.lang.Boolean req,
                        java.lang.Integer style)
Complete customization information based on supplied type. If the type information has not previously been set, this will set it. It will also derive the appropriate XML name, if not previously set. This method is only intended for use by subclasses.

Parameters:
info - value type information
req - required member flag (null if unspecified)
style - representation style (null if unspecified)


Project Web Site