org.jibx.custom.classes
Class CustomBase

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

public class CustomBase
extends java.lang.Object

Base class for all customizations. This defines a way to navigate up the tree of nested components without making assumptions about the specific type of the containing components. This allows for other types of customizations, beyond the binding customizations included directly in this package. This also includes enumeration definitions which are used with both base and extension customizations.

Author:
Dennis M. Sosnoski

Field Summary
static int CAMEL_CASE_NAMES
           
static int DERIVE_BY_PACKAGE
           
static int DERIVE_FIXED
           
static int DERIVE_NONE
           
static int DOTTED_NAMES
           
static int HYPHENATED_NAMES
           
private  SharedNestingBase m_parent
           
static int REQUIRE_ALL
           
static int REQUIRE_NONE
           
static int REQUIRE_OBJECTS
           
static int REQUIRE_PRIMITIVES
           
static EnumSet s_namespaceStyleEnum
           
static EnumSet s_nameStyleEnum
           
static EnumSet s_requireEnum
           
static int UNDERSCORED_NAMES
           
static int UPPER_CAMEL_CASE_NAMES
           
 
Constructor Summary
CustomBase(SharedNestingBase parent)
          Constructor.
 
Method Summary
static java.lang.String convertName(java.lang.String base, int code)
          Convert class, method, or parameter name to XML name.
static java.lang.String deriveItemName(java.lang.String cname, java.lang.String type, int code)
          Derive name for item in a collection.
static java.lang.String deriveNamespace(java.lang.String uri, java.lang.String pkgpth, int style)
          Derive namespace using specified technique.
protected static java.lang.Object getContainingObject(IUnmarshallingContext ictx)
          Gets the parent element link from the unmarshalling stack.
 GlobalCustom getGlobal()
          Get global customizations root.
 SharedNestingBase getParent()
          Get container.
static java.lang.String packageOfType(java.lang.String type)
          Get the package from a fully-qualified type name.
static java.lang.String packageToNamespace(java.lang.String pkgpth)
          Create a namespace URL from a package path.
protected  void validateAttributes(IUnmarshallingContext ictx, StringArray attrs)
          Validate attributes of element.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CAMEL_CASE_NAMES

public static final int CAMEL_CASE_NAMES
See Also:
Constant Field Values

UPPER_CAMEL_CASE_NAMES

public static final int UPPER_CAMEL_CASE_NAMES
See Also:
Constant Field Values

HYPHENATED_NAMES

public static final int HYPHENATED_NAMES
See Also:
Constant Field Values

DOTTED_NAMES

public static final int DOTTED_NAMES
See Also:
Constant Field Values

UNDERSCORED_NAMES

public static final int UNDERSCORED_NAMES
See Also:
Constant Field Values

s_nameStyleEnum

public static final EnumSet s_nameStyleEnum

REQUIRE_NONE

public static final int REQUIRE_NONE
See Also:
Constant Field Values

REQUIRE_PRIMITIVES

public static final int REQUIRE_PRIMITIVES
See Also:
Constant Field Values

REQUIRE_OBJECTS

public static final int REQUIRE_OBJECTS
See Also:
Constant Field Values

REQUIRE_ALL

public static final int REQUIRE_ALL
See Also:
Constant Field Values

s_requireEnum

public static final EnumSet s_requireEnum

DERIVE_NONE

public static final int DERIVE_NONE
See Also:
Constant Field Values

DERIVE_BY_PACKAGE

public static final int DERIVE_BY_PACKAGE
See Also:
Constant Field Values

DERIVE_FIXED

public static final int DERIVE_FIXED
See Also:
Constant Field Values

s_namespaceStyleEnum

public static final EnumSet s_namespaceStyleEnum

m_parent

private SharedNestingBase m_parent
Constructor Detail

CustomBase

public CustomBase(SharedNestingBase parent)
Constructor.

Parameters:
parent -
Method Detail

getParent

public SharedNestingBase getParent()
Get container.

Returns:
container

getGlobal

public GlobalCustom getGlobal()
Get global customizations root.

Returns:
global customization

convertName

public static java.lang.String convertName(java.lang.String base,
                                           int code)
Convert class, method, or parameter name to XML name.

Parameters:
base - class or simple field name to be converted
code - conversion format style code
Returns:
XML name

deriveItemName

public static java.lang.String deriveItemName(java.lang.String cname,
                                              java.lang.String type,
                                              int code)
Derive name for item in a collection. If the supplied collection name ends in a recognized plural form the derived item name is the singular version of the collection name. Otherwise, it is the converted name of the collection item class, or just "item" if the class is unknown. TODO: internationalization?

Parameters:
cname - collection name (null if none)
type - item type (null if unknown)
code - conversion format style code
Returns:
item name

packageOfType

public static java.lang.String packageOfType(java.lang.String type)
Get the package from a fully-qualified type name.

Parameters:
type - fully-qualified type name
Returns:
package of the type (empty string if in default package)

packageToNamespace

public static java.lang.String packageToNamespace(java.lang.String pkgpth)
Create a namespace URL from a package path.

Parameters:
pkgpth - fully-qualified package name
Returns:
namespace based on package (null if none)

deriveNamespace

public static java.lang.String deriveNamespace(java.lang.String uri,
                                               java.lang.String pkgpth,
                                               int style)
Derive namespace using specified technique.

Parameters:
uri - base namespace URI (null if none)
pkgpth - fully qualified package name
style - namespace style code
Returns:
derived namespace

validateAttributes

protected void validateAttributes(IUnmarshallingContext ictx,
                                  StringArray attrs)
Validate attributes of element. This is designed to be called during unmarshalling as part of the pre-set method processing when a subclass instance is being created.

Parameters:
ictx - unmarshalling context
attrs - attributes array

getContainingObject

protected static java.lang.Object getContainingObject(IUnmarshallingContext ictx)
Gets the parent element link from the unmarshalling stack. This method is for use by factories during unmarshalling.

Parameters:
ictx - unmarshalling context
Returns:
containing class


Project Web Site