Package org.castor.xml
Class JavaNamingImpl
java.lang.Object
org.castor.xml.JavaNamingImpl
- All Implemented Interfaces:
JavaNaming
This class converts XML Names to proper Java names. As Java names are not
completely defined this implementation is Castor specific.
The first implementation was done by Keith Visco
but had been changed radically since.
- Version:
- $Id: JavaNamingImpl.java 7437 2008-02-06 10:21:45Z jgrueneis $
- Author:
- Joachim Grueneis
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic booleanUsed for backward compatibility, if you wish to be backward compatible with 0.9.3.9 and earlier set this boolean to true.static final StringThe property name to use in the castor.properties file to specify the value of theupperCaseAfterUnderscorevariable.Fields inherited from interface org.castor.xml.JavaNaming
FIELD_UNDERSCORE_PREFIX, METHOD_PREFIX_ADD, METHOD_PREFIX_CREATE, METHOD_PREFIX_GET, METHOD_PREFIX_IS, METHOD_PREFIX_SET -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal StringextractFieldNameFromField(Field field) Extracts the field name part from the Field.final StringextractFieldNameFromMethod(Method method) Extracts the filed name part from the methods name.final StringgetAddMethodNameForField(String fieldName) Generates the name of an add method for the given field name.getClassName(Class clazz) Gets the class name without package part.final StringgetCreateMethodNameForField(String fieldName) Generates the name of a set method for the given field name.final StringgetGetMethodNameForField(String fieldName) Generates the name of a get method for the given field name.final StringgetIsMethodNameForField(String fieldName) Generates the name of an is method for the given field name.final StringgetPackageName(String className) Gets the package name of the given class name.final StringgetQualifiedFileName(String fileName, String packageName) Qualifies the givenfileNamewith the givenpackageNameand returns the resulting file path.
IfpackageNameisnullor a zero-length String, this method will returnfileName.final StringgetSetMethodNameForField(String fieldName) Generates the name of a create method for the given field name.final booleanisAddMethod(Method method) Checks if the given method is an add method.final booleanisCreateMethod(Method method) Checks if the given method is a create method.final booleanisGetMethod(Method method) Checks if the given method is a get method.final booleanisIsMethod(Method method) Checks if the given method is a 'is' method.final booleanReturns true if the given String is a Java keyword which will cause a problem when used as a variable name.final booleanisSetMethod(Method method) Checks if the given method is a set method.final booleanisValidJavaIdentifier(String string) Returns true if the given String matches the production of a valid Java identifier.final booleanisValidPackageName(String packageName) Checks if the given pacckage name is valid or not.final StringpackageToPath(String packageName) Converts the given Package name to it's corresponding Path.final StringtoJavaClassName(String name) Cuts away a leading namespace prefix (if there is one in place).final StringtoJavaMemberName(String name) Appends a leading '_' and converts the given name to a java name.final StringtoJavaMemberName(String name, boolean useKeywordSubstitutions) Appends a leading '_' and converts the given name to a java name.
-
Field Details
-
UPPER_CASE_AFTER_UNDERSCORE_PROPERTY
The property name to use in the castor.properties file to specify the value of theupperCaseAfterUnderscorevariable.- See Also:
-
_upperCaseAfterUnderscore
public static boolean _upperCaseAfterUnderscoreUsed for backward compatibility, if you wish to be backward compatible with 0.9.3.9 and earlier set this boolean to true.
-
-
Constructor Details
-
JavaNamingImpl
public JavaNamingImpl()private constructor.
-
-
Method Details
-
isKeyword
Returns true if the given String is a Java keyword which will cause a problem when used as a variable name.- Specified by:
isKeywordin interfaceJavaNaming- Parameters:
name- the name to check- Returns:
- true if it is a keyword
- See Also:
-
isValidJavaIdentifier
Returns true if the given String matches the production of a valid Java identifier.- Specified by:
isValidJavaIdentifierin interfaceJavaNaming- 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.
- See Also:
-
toJavaClassName
Cuts away a leading namespace prefix (if there is one in place).- Specified by:
toJavaClassNamein interfaceJavaNaming- Parameters:
name- the XML name to convert to a Java name- Returns:
- a name which follows Java naming conventions
- See Also:
-
toJavaMemberName
Appends a leading '_' and converts the given name to a java name.- Specified by:
toJavaMemberNamein interfaceJavaNaming- Parameters:
name- the XML name to convert- Returns:
- a Java member name starting with a leading _
- See Also:
-
toJavaMemberName
Appends a leading '_' and converts the given name to a java name.- Specified by:
toJavaMemberNamein interfaceJavaNaming- Parameters:
name- the XML name to convertuseKeywordSubstitutions- set to true to turn on keyword substitution- Returns:
- a Java member name starting with a leading _
- See Also:
-
isValidPackageName
Checks if the given pacckage name is valid or not. Empty pacakge names are considered valid!- Specified by:
isValidPackageNamein interfaceJavaNaming- Parameters:
packageName- name of package as String with periods- Returns:
- true if package name is valid
- See Also:
-
packageToPath
Converts the given Package name to it's corresponding Path. The path will be a relative path.- Specified by:
packageToPathin interfaceJavaNaming- Parameters:
packageName- the package name to convert- Returns:
- a String containing the resulting patch
- See Also:
-
getQualifiedFileName
Qualifies the givenfileNamewith the givenpackageNameand returns the resulting file path.
IfpackageNameisnullor a zero-length String, this method will returnfileName.- Specified by:
getQualifiedFileNamein interfaceJavaNaming- Parameters:
fileName- The file name to be qualified.packageName- The package name to be used for qualifying.- Returns:
- The qualified file path.
- See Also:
-
getPackageName
Gets the package name of the given class name.- Specified by:
getPackageNamein interfaceJavaNaming- Parameters:
className- The class name to retrieve the package name from.- Returns:
- The package name or the empty String if
classNameisnullor does not contain a package. - See Also:
-
extractFieldNameFromMethod
Extracts the filed name part from the methods name. Mostly it cuts away the method prefix.- Specified by:
extractFieldNameFromMethodin interfaceJavaNaming- Parameters:
method- the Method to process- Returns:
- the extracted field name
- See Also:
-
extractFieldNameFromField
Extracts the field name part from the Field. Mostly it cuts away prefixes like '_'.- Specified by:
extractFieldNameFromFieldin interfaceJavaNaming- Parameters:
field- the Field to process- Returns:
- The extracted field name.
- See Also:
-
isSetMethod
Checks if the given method is a set method.- Specified by:
isSetMethodin interfaceJavaNaming- Parameters:
method- the Method to check- Returns:
- true if it is a set method
- See Also:
-
isCreateMethod
Checks if the given method is a create method.- Specified by:
isCreateMethodin interfaceJavaNaming- Parameters:
method- the Method to check- Returns:
- true if it is a create method
- See Also:
-
isGetMethod
Checks if the given method is a get method.- Specified by:
isGetMethodin interfaceJavaNaming- Parameters:
method- the Method to check- Returns:
- true if it is a get method
- See Also:
-
isIsMethod
Checks if the given method is a 'is' method.- Specified by:
isIsMethodin interfaceJavaNaming- Parameters:
method- the Method to check- Returns:
- true if it is a 'is' method
- See Also:
-
isAddMethod
Checks if the given method is an add method.- Specified by:
isAddMethodin interfaceJavaNaming- Parameters:
method- the Method to check- Returns:
- true if it is an add method
- See Also:
-
getAddMethodNameForField
Generates the name of an add method for the given field name.- Specified by:
getAddMethodNameForFieldin interfaceJavaNaming- Parameters:
fieldName- the field name to generate a method name for- Returns:
- the generated add method name
-
getCreateMethodNameForField
Generates the name of a set method for the given field name.- Specified by:
getCreateMethodNameForFieldin interfaceJavaNaming- Parameters:
fieldName- the field name to generate a method name for- Returns:
- the generated set method name
-
getGetMethodNameForField
Generates the name of a get method for the given field name.- Specified by:
getGetMethodNameForFieldin interfaceJavaNaming- Parameters:
fieldName- the field name to generate a method name for- Returns:
- the generated get method name
-
getIsMethodNameForField
Generates the name of an is method for the given field name.- Specified by:
getIsMethodNameForFieldin interfaceJavaNaming- Parameters:
fieldName- the field name to generate a method name for- Returns:
- the generated is method name
-
getSetMethodNameForField
Generates the name of a create method for the given field name.- Specified by:
getSetMethodNameForFieldin interfaceJavaNaming- Parameters:
fieldName- the field name to generate a method name for- Returns:
- the generated create method name
-
getClassName
Gets the class name without package part.- Specified by:
getClassNamein interfaceJavaNaming- Parameters:
clazz- The class to retrieve the name from- Returns:
- the class name without package part or null the class name without package part or null
- See Also:
-