org.castor.xml

Interface JavaNaming

Known Implementing Classes:
JavaNamingImpl

public interface JavaNaming

JavaNaming is a service which collects all methods that are related to create (modify) Java names. E.g. convert from XML name to Java name, get a Java member name or such. These rules can be exchanged by a different implementation to get a different naming style for e.g. JAXB.
Version:
$Id: JavaNaming.java 7390 2008-01-25 15:59:42Z jgrueneis $
Author:
Joachim Grueneis

Field Summary

static char
FIELD_UNDERSCORE_PREFIX
The underscore field prefix.
static String
METHOD_PREFIX_ADD
Add methods start with: add.
static String
METHOD_PREFIX_CREATE
Create methods start with: create.
static String
METHOD_PREFIX_GET
Get methods start with: get.
static String
METHOD_PREFIX_IS
Is methods start with: is.
static String
METHOD_PREFIX_SET
Set methods start with: set.

Method Summary

String
extractFieldNameFromField(Field field)
Extracts the field name part from the Field.
String
extractFieldNameFromMethod(Method method)
Extracts the filed name part from the methods name.
String
getAddMethodNameForField(String fieldName)
Generates the name of an add method for the given field name.
String
getClassName(Class clazz)
Gets the class name without package part.
String
getCreateMethodNameForField(String fieldName)
Generates the name of a create method for the given field name.
String
getGetMethodNameForField(String fieldName)
Generates the name of a get method for the given field name.
String
getIsMethodNameForField(String fieldName)
Generates the name of an is method for the given field name.
String
getPackageName(String className)
Gets the package name of the given class name.
String
getQualifiedFileName(String fileName, String packageName)
Qualifies the given fileName with the given packageName and returns the resulting file path.
If packageName is null or a zero-length String, this method will return fileName.
String
getSetMethodNameForField(String fieldName)
Generates the name of a set method for the given field name.
boolean
isAddMethod(Method method)
Checks if the given method is an add method.
boolean
isCreateMethod(Method method)
Checks if the given method is a create method.
boolean
isGetMethod(Method method)
Checks if the given method is a get method.
boolean
isIsMethod(Method method)
Checks if the given method is an is method.
boolean
isKeyword(String name)
Returns true if the given String is a Java keyword which will cause a problem when used as a variable name.
boolean
isSetMethod(Method method)
Checks if the given method is a set method.
boolean
isValidJavaIdentifier(String string)
Returns true if the given String matches the production of a valid Java identifier.
boolean
isValidPackageName(String packageName)
Checks if the given package name is valid or not.
String
packageToPath(String packageName)
Converts the given Package name to it's corresponding Path.
String
toJavaClassName(String name)
Cuts away a leading namespace prefix (if there is one in place).
String
toJavaMemberName(String name)
Appends a leading '_' and converts the given name to a java name.
String
toJavaMemberName(String name, boolean useKeywordSubstitutions)
Appends a leading '_' and converts the given name to a java name.

Field Details

FIELD_UNDERSCORE_PREFIX

public static final char FIELD_UNDERSCORE_PREFIX
The underscore field prefix.
Field Value:
'_'

METHOD_PREFIX_ADD

public static final String METHOD_PREFIX_ADD
Add methods start with: add.

METHOD_PREFIX_CREATE

public static final String METHOD_PREFIX_CREATE
Create methods start with: create.

METHOD_PREFIX_GET

public static final String METHOD_PREFIX_GET
Get methods start with: get.

METHOD_PREFIX_IS

public static final String METHOD_PREFIX_IS
Is methods start with: is.

METHOD_PREFIX_SET

public static final String METHOD_PREFIX_SET
Set methods start with: set.

Method Details

extractFieldNameFromField

public String extractFieldNameFromField(Field field)
Extracts the field name part from the Field. Mostly it cuts away prefixes like '_'.
Parameters:
field - the Field to process
Returns:
The extracted field name.

extractFieldNameFromMethod

public String extractFieldNameFromMethod(Method method)
Extracts the filed name part from the methods name. Mostly it cuts away the method prefix.
Parameters:
method - The Method to process.
Returns:
The extracted field name.

getAddMethodNameForField

public String getAddMethodNameForField(String fieldName)
Generates the name of an add method for the given field name.
Parameters:
fieldName - The field name to generate a method name for.
Returns:
The generated add method name.

getClassName

public String getClassName(Class clazz)
Gets the class name without package part.
Parameters:
clazz - The class to retrieve the name from
Returns:
the class name without package part or null

getCreateMethodNameForField

public String getCreateMethodNameForField(String fieldName)
Generates the name of a create method for the given field name.
Parameters:
fieldName - The field name to generate a method name for.
Returns:
The generated create method name.

getGetMethodNameForField

public String getGetMethodNameForField(String fieldName)
Generates the name of a get method for the given field name.
Parameters:
fieldName - The field name to generate a method name for.
Returns:
The generated get method name.

getIsMethodNameForField

public String getIsMethodNameForField(String fieldName)
Generates the name of an is method for the given field name.
Parameters:
fieldName - The field name to generate a method name for.
Returns:
The generated is method name.

getPackageName

public String getPackageName(String className)
Gets the package name of the given class name.
Parameters:
className - The class name to retrieve the package name from.
Returns:
The package name or the empty String if className is null or does not contain a package.

getQualifiedFileName

public String getQualifiedFileName(String fileName,
                                   String packageName)
Qualifies the given fileName with the given packageName and returns the resulting file path.
If packageName is null or a zero-length String, this method will return fileName.
Parameters:
fileName - The file name to be qualified.
packageName - The package name to be used for qualifying.
Returns:
The qualified file path.

getSetMethodNameForField

public String getSetMethodNameForField(String fieldName)
Generates the name of a set method for the given field name.
Parameters:
fieldName - The field name to generate a method name for.
Returns:
The generated set method name.

isAddMethod

public boolean isAddMethod(Method method)
Checks if the given method is an add method.
Parameters:
method - The Method to check.
Returns:
true if it is an add method.

isCreateMethod

public boolean isCreateMethod(Method method)
Checks if the given method is a create method.
Parameters:
method - The Method to check.
Returns:
true if it is a create method.

isGetMethod

public boolean isGetMethod(Method method)
Checks if the given method is a get method.
Parameters:
method - The Method to check.
Returns:
true if it is a get method.

isIsMethod

public boolean isIsMethod(Method method)
Checks if the given method is an is method.
Parameters:
method - The Method to check.
Returns:
true if it is an is method.

isKeyword

public boolean isKeyword(String name)
Returns true if the given String is a Java keyword which will cause a problem when used as a variable name.
Parameters:
name - The name to check.
Returns:
true if it is a keyword.

isSetMethod

public boolean isSetMethod(Method method)
Checks if the given method is a set method.
Parameters:
method - The Method to check
Returns:
true if it is a set method

isValidJavaIdentifier

public boolean isValidJavaIdentifier(String string)
Returns true if the given String matches the production of a valid Java identifier.
Parameters:
string - The String to check the production of.
Returns:
true if the given String matches the production of a valid Java name, otherwise false.

isValidPackageName

public boolean isValidPackageName(String packageName)
Checks if the given package name is valid or not. Empty package names are considered valid!
Parameters:
packageName - Name of package as String with periods.
Returns:
true if package name is valid.

packageToPath

public String packageToPath(String packageName)
Converts the given Package name to it's corresponding Path. The path will be a relative path.
Parameters:
packageName - The package name to convert.
Returns:
A String containing the resulting patch.

toJavaClassName

public String toJavaClassName(String name)
Cuts away a leading namespace prefix (if there is one in place).
Parameters:
name - The XML name to convert to a Java name.
Returns:
A name which follows Java naming conventions.

toJavaMemberName

public String toJavaMemberName(String name)
Appends a leading '_' and converts the given name to a java name.
Parameters:
name - the XML name to convert.
Returns:
A Java member name starting with a leading '_'.

toJavaMemberName

public String toJavaMemberName(String name,
                               boolean useKeywordSubstitutions)
Appends a leading '_' and converts the given name to a java name.
Parameters:
name - The XML name to convert.
useKeywordSubstitutions - Set to true to turn on keyword substitution.
Returns:
A Java member name starting with a leading '_'.

Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com