com.openharbor.beck.map
Class DefaultNamer

java.lang.Object
  extended bycom.openharbor.beck.map.DefaultNamer
All Implemented Interfaces:
Configurable, Namer

public class DefaultNamer
extends java.lang.Object
implements Namer, Configurable

Maps between Java names and XML names in a flexible, configurable way.


Field Summary
protected  java.util.Map foundClass
           
protected  org.apache.commons.logging.Log log
           
protected static java.lang.Package[] NO_PACKAGES
           
protected  java.lang.Package[] packagePath
           
 
Fields inherited from interface com.openharbor.beck.configure.Configurable
ATTRIBUTE, CLASS_IS_ARRAY, DIRECTION, ELEMENT, JAVA_TO_XML, NAMESPACE, NONE, PARENT_CLASS, PARENT_ELEMENT, PREDICATE, PREFIX, SCHEMA_LOCATION, TEXT, XML_TO_JAVA
 
Constructor Summary
DefaultNamer()
           
 
Method Summary
static java.lang.String capitalize(java.lang.String s)
           
static XMLThing capitalizeName(XMLThing thing)
           
static java.lang.String decapitalize(java.lang.String s)
           
protected  java.lang.Class findObjectClass(XMLThing source)
           
 java.util.Map getConfiguration()
           
 java.lang.Class getObjectClass(XMLThing source)
          This method is not thread-safe.
 java.lang.String getPropertyName(XMLThing source)
          Map an XML element or attribute to a JavaBean property name.
 XMLName getXMLName(java.lang.Object parent, Getter getter, java.lang.Class sourceClass)
          Map a Java object to an XML element or attribute.
 XMLThing normalize(XMLThing thing)
           
protected  java.lang.String removePackagePrefix(java.lang.String name)
           
static java.lang.String removePrefix(java.lang.String prefix, java.lang.String s)
           
 void setConfiguration(java.util.Map configuration)
           
 void setPackagePath(java.lang.Package[] packagePath)
           
protected  java.lang.String XMLToJava(XMLThing source)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected final org.apache.commons.logging.Log log

packagePath

protected java.lang.Package[] packagePath

foundClass

protected java.util.Map foundClass

NO_PACKAGES

protected static final java.lang.Package[] NO_PACKAGES
Constructor Detail

DefaultNamer

public DefaultNamer()
Method Detail

setConfiguration

public void setConfiguration(java.util.Map configuration)
Specified by:
setConfiguration in interface Configurable

getConfiguration

public java.util.Map getConfiguration()
Specified by:
getConfiguration in interface Configurable

setPackagePath

public void setPackagePath(java.lang.Package[] packagePath)

getXMLName

public XMLName getXMLName(java.lang.Object parent,
                          Getter getter,
                          java.lang.Class sourceClass)
Description copied from interface: Namer
Map a Java object to an XML element or attribute.

Specified by:
getXMLName in interface Namer
Parameters:
parent -
getter -
Returns:

normalize

public XMLThing normalize(XMLThing thing)
Specified by:
normalize in interface Namer

removePackagePrefix

protected java.lang.String removePackagePrefix(java.lang.String name)

XMLToJava

protected java.lang.String XMLToJava(XMLThing source)

getPropertyName

public java.lang.String getPropertyName(XMLThing source)
Description copied from interface: Namer
Map an XML element or attribute to a JavaBean property name.

Specified by:
getPropertyName in interface Namer
Parameters:
source -
Returns:

getObjectClass

public java.lang.Class getObjectClass(XMLThing source)
This method is not thread-safe. It mutates a cache of source-to-class mappings.

Specified by:
getObjectClass in interface Namer
Parameters:
source -
Returns:

findObjectClass

protected java.lang.Class findObjectClass(XMLThing source)

capitalizeName

public static XMLThing capitalizeName(XMLThing thing)

capitalize

public static java.lang.String capitalize(java.lang.String s)

decapitalize

public static java.lang.String decapitalize(java.lang.String s)

removePrefix

public static java.lang.String removePrefix(java.lang.String prefix,
                                            java.lang.String s)