org.enhydra.zeus.util
Class NamingUtils

java.lang.Object
  |
  +--org.enhydra.zeus.util.NamingUtils

public class NamingUtils
extends java.lang.Object

NamingUtils is a Zeus utility class that provides methods which deal with the naming issues involved in data binding. Specifically, this class will deal with deriving Java class names, deriving Java variable names, deriving XML element names, and validating legal Java identifiers.

Version:
1.0
Author:
Robert Sese, Maciej Zawadzki

Field Summary
static java.lang.String DEFAULT_MAPPING
          The default alternative representation for illegal characters.
static java.lang.String XML_PREFIX
          Prefix to append to names that clash with Java reserved words.
 
Method Summary
static java.lang.String getCharMapping(java.lang.Character key)
           Returns the value that the given key is mapped to.
static java.lang.String getJavaClassName(java.lang.String xmlName)
           Returns the conventional Java class name from an XML name.
static java.lang.String getJavaCollectionVariableName(java.lang.String className)
           Returns the Java variable name from a Java class name assuming that the variable will be a collection based variable (i.e.
static java.lang.String getJavaVariableName(java.lang.String className)
           Returns the conventional Java variable name from a Java class name.
static java.lang.String getXMLElementNameFromAccessor(java.lang.String accessor)
           Returns the XML name from a typical accessor method.
static void setCharMapping(java.lang.Character key, java.lang.String value)
           Maps the given key to the given value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

XML_PREFIX

public static final java.lang.String XML_PREFIX
Prefix to append to names that clash with Java reserved words.

DEFAULT_MAPPING

public static final java.lang.String DEFAULT_MAPPING
The default alternative representation for illegal characters.
Method Detail

getCharMapping

public static java.lang.String getCharMapping(java.lang.Character key)

Returns the value that the given key is mapped to. This value will replace any occurence of the key when a name contains illegal characters for a Java identifier.

Parameters:
key - the key mapped to the value to return.
Returns:
String - the value the given key is mapped to.

setCharMapping

public static void setCharMapping(java.lang.Character key,
                                  java.lang.String value)

Maps the given key to the given value. This value will replace any occurence of the key when a name contains illegal characters for a Java identifier.

Parameters:
key - the key to map the given value to.
value - the value to map the given key to.

getJavaClassName

public static java.lang.String getJavaClassName(java.lang.String xmlName)

Returns the conventional Java class name from an XML name. The initial character is capitalized, and any illegal characters are replaced. There is no check for a collision with a Java reserved word because all Java reserved words have their initial character lower case. For example, calling getJavaClassName("my-element") would return "MyElement" as the Java class name.

Parameters:
xmlName - the XML name to convert to a Java class name.
Returns:
String - the converted Java name.

getJavaVariableName

public static java.lang.String getJavaVariableName(java.lang.String className)

Returns the conventional Java variable name from a Java class name. The initial character is uncapitalized, and any illegal characters are replaced. If there is a collision with a Java reserved word, the name is prefixed with XML_PREFIX. For example, calling getJavaVariableName("MyClass") would return "myClass" as the Java variable name.

Parameters:
className - the class name to convert to a variable name.
Returns:
String - the converted Java variable name.

getJavaCollectionVariableName

public static java.lang.String getJavaCollectionVariableName(java.lang.String className)

Returns the Java variable name from a Java class name assuming that the variable will be a collection based variable (i.e. ending with "List" as in "myVariableList"). The initial character is uncapitalized, and any illegal characters are replaced. There is no check for a collision with a Java reserved word because the assumption is that the variable has some word appended to it that identifies the fact that the variable denotes a collection. For example, calling getJavaCollectionVariableName("MyClass") would return "myClass" as the Java variable name.

Parameters:
className - the class name to convert to a collection based variable name.
Returns:
String - the converted Java variable name.

getXMLElementNameFromAccessor

public static java.lang.String getXMLElementNameFromAccessor(java.lang.String accessor)

Returns the XML name from a typical accessor method. The naming convention for such a method is "get<variable-name>". The first three characters are discarded, and the initial character is uncapitalized. For example, calling getXMLElementNameFromAccessor("getMyVariable") would return "myVariable" as the XML name. This method would also work with typical mutator methods.

Parameters:
accessor - the name of the accessor method to derive the XML name from.
Returns:
String - the converted XML name.


Copyright © 2001 Enhydra. All Rights Reserved.