Class IdentifierUtilImpl
- java.lang.Object
-
- org.apache.openjpa.lib.identifier.IdentifierUtilImpl
-
- All Implemented Interfaces:
Configurable,IdentifierUtil
- Direct Known Subclasses:
DBIdentifierUtilImpl
public class IdentifierUtilImpl extends java.lang.Object implements IdentifierUtil, Configurable
Implementation class for the base identifier impl.
-
-
Field Summary
-
Fields inherited from interface org.apache.openjpa.lib.identifier.IdentifierUtil
BAR, CASE_LOWER, CASE_PRESERVE, CASE_UPPER, DOLLAR_CHAR, DOT, DOUBLE_QUOTE, EMPTY, PERCENT, SPACE, UNDERSCORE, UNDERSCORE_CHAR
-
-
Constructor Summary
Constructors Constructor Description IdentifierUtilImpl()IdentifierUtilImpl(IdentifierConfiguration config)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringappendNames(java.lang.String rule, java.lang.String name1, java.lang.String name2)Append the names together while maintaining delimiters.java.lang.StringappendNames(IdentifierRule rule, java.lang.String name1, java.lang.String name2)Append the names together while maintaining delimiters.booleancanSplit(java.lang.String rule, java.lang.String name)Determines whether a name can be split into multiple components.booleancanSplit(java.lang.String rule, java.lang.String name, java.lang.String delim)Determines whether a name can be split into multiple components, taking into account the specified delimiter.booleancanSplit(IdentifierRule rule, java.lang.String name)Determines whether a name can be split into multiple components.booleancanSplit(IdentifierRule rule, java.lang.String name, java.lang.String delim)Determines whether a name can be split into multiple components, taking into account the specified delimiter.java.lang.StringcombineFull(IdentifierConfiguration config, java.lang.String rule, java.lang.String fullName)java.lang.StringcombineNames(java.lang.String rule, java.lang.String[] names)Combines names using the specified delimiting rule and appropriate separatorsjava.lang.StringcombineNames(java.lang.String rule, java.lang.String[] rules, java.lang.String[] names)Combines names using delimiting rules and appropriate separatorsjava.lang.StringcombineNames(java.lang.String rule, java.lang.String name1, java.lang.String name2)Combines two names using delimiting rules and appropriate separatorsjava.lang.StringcombineNames(IdentifierConfiguration config, java.lang.String rule, java.lang.String[] names)java.lang.StringcombineNames(IdentifierConfiguration config, IdentifierRule namingRule, java.lang.String[] names)java.lang.StringcombineNames(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name1, java.lang.String name2)java.lang.StringcombineNames(IdentifierConfiguration config, IdentifierRule rule, IdentifierRule[] rules, java.lang.String[] names)java.lang.StringcombineNames(IdentifierRule rule, java.lang.String[] names)Combines names using the specified delimiting rule and appropriate separatorsjava.lang.StringcombineNames(IdentifierRule rule, java.lang.String name1, java.lang.String name2)Combines two names using delimiting rules and appropriate separatorsjava.lang.StringcombineNames(IdentifierRule rule, IdentifierRule[] rules, java.lang.String[] names)Combines names using delimiting rules and appropriate separatorsjava.lang.Stringconvert(IdentifierConfiguration config, java.lang.String rule, java.lang.String name)Convert the string using this naming configuration to the supplied naming configuration.java.lang.StringconvertFull(IdentifierConfiguration config, java.lang.String rule, java.lang.String fullName)Converts a qualified string-based name defined using the base configuration to the specified configuration.java.lang.Stringdelimit(java.lang.String rule, java.lang.String name)Delimit the name if it requires delimitersjava.lang.Stringdelimit(java.lang.String rule, java.lang.String name, boolean force)Delimit the string with the option to force delimiting.java.lang.Stringdelimit(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name)java.lang.Stringdelimit(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name, boolean force)java.lang.Stringdelimit(IdentifierRule rule, java.lang.String name)Delimit the name if it requires delimitersjava.lang.Stringdelimit(IdentifierRule rule, java.lang.String name, boolean force)Delimit the string with the option to force delimiting.voidendConfiguration()Invoked upon completion of bean property configuration for this object.IdentifierConfigurationgetIdentifierConfiguration()Get the naming configuration.booleanisDelimited(java.lang.String rule, java.lang.String name)Determines whether a name is delimited.booleanisDelimited(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name)booleanisDelimited(IdentifierRule rule, java.lang.String name)Determines whether a name is delimited.static booleanisDoubleQuoted(java.lang.String name)Returns whether a name is double quotedbooleanisReservedWord(java.lang.String rule, java.lang.String name)Returns whether a name is considered a reserved wordbooleanisReservedWord(IdentifierRule rule, java.lang.String name)Returns whether a name is considered a reserved word.java.lang.StringjoinNames(java.lang.String[] rules, java.lang.String[] names)Joins several names with different naming rules into a single string using appropriate delimiters and separatorsjava.lang.StringjoinNames(java.lang.String rule, java.lang.String[] names)Joins several names with different naming rules into a single string using appropriate delimiters and separatorsjava.lang.StringjoinNames(java.lang.String rule, java.lang.String[] names, java.lang.String delimiter)Joins several names with different naming rules into a single string using the specified delimiterjava.lang.StringjoinNames(IdentifierConfiguration config, IdentifierRule rule, java.lang.String[] names, java.lang.String delimiter)Join names using a single naming rule and specified delimiterjava.lang.StringjoinNames(IdentifierRule[] rules, java.lang.String[] names)Joins multiple names together using the standard delimiting rules ex. ( {"s", "t", "c"} --> "s"."java.lang.StringjoinNames(IdentifierRule rule, java.lang.String[] names)Joins several names with different naming rules into a single string using appropriate delimiters and separatorsjava.lang.StringjoinNames(IdentifierRule rule, java.lang.String[] names, java.lang.String delimiter)Joins several names with different naming rules into a single string using the specified delimiterprotected booleanneedsConversion(IdentifierConfiguration config)java.lang.StringremoveDelimiters(java.lang.String rule, java.lang.String name)Remove delimiters from a delimited namejava.lang.StringremoveDelimiters(IdentifierConfiguration config, java.lang.String rule, java.lang.String name)Remove delimiters from a delimited namejava.lang.StringremoveDelimiters(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name)protected java.lang.StringremoveDelimiters(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name, java.lang.String leading, java.lang.String trailing)java.lang.StringremoveDelimiters(IdentifierRule rule, java.lang.String name)Remove delimiters from a delimited namejava.lang.StringremoveHungarianNotation(java.lang.String rule, java.lang.String name)Removes Hungarian notation from the specified string.java.lang.StringremoveHungarianNotation(IdentifierRule rule, java.lang.String name)Removes Hungarian notation from the specified string.booleanrequiresDelimiters(java.lang.String rule, java.lang.String name)Determines whether a name requires delimiters based upon: The SQL-92 Reference definition of a valid unquoted name The naming rule specifiedbooleanrequiresDelimiters(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name)booleanrequiresDelimiters(IdentifierRule rule, java.lang.String name)Determines whether a name requires delimiters based upon: The SQL-92 Reference definition of a valid unquoted name The naming rule specifiedvoidsetConfiguration(Configuration conf)Invoked prior to setting bean properties.voidsetIdentifierConfiguration(IdentifierConfiguration config)Set the naming configuration to use for naming operations.java.lang.String[]splitName(java.lang.String rule, java.lang.String name)Splits a combined name name using the provided naming rulejava.lang.String[]splitName(java.lang.String nrule, java.lang.String name, java.lang.String nameDelim)Splits a combined name name using the provided naming rule and delimiter.java.lang.String[]splitName(IdentifierConfiguration config, java.lang.String rule, java.lang.String name)java.lang.String[]splitName(IdentifierConfiguration config, IdentifierRule nrule, java.lang.String name)java.lang.String[]splitName(IdentifierRule nrule, java.lang.String name)Splits a combined name name using the provided naming rulejava.lang.String[]splitName(IdentifierRule nrule, java.lang.String name, java.lang.String nameDelim)Splits names using single naming rule and appropriate separatorsvoidstartConfiguration()Invoked before bean property configuration is begun on this object.java.lang.StringtruncateName(java.lang.String rule, java.lang.String name, int length)Truncates a name while maintaining delimiters.java.lang.StringtruncateName(IdentifierRule namingRule, java.lang.String name, int length)Truncates a name while maintaining delimiters.
-
-
-
Constructor Detail
-
IdentifierUtilImpl
public IdentifierUtilImpl()
-
IdentifierUtilImpl
public IdentifierUtilImpl(IdentifierConfiguration config)
-
-
Method Detail
-
setIdentifierConfiguration
public void setIdentifierConfiguration(IdentifierConfiguration config)
Description copied from interface:IdentifierUtilSet the naming configuration to use for naming operations. A naming configuration must be set before calling any other methods.- Specified by:
setIdentifierConfigurationin interfaceIdentifierUtil
-
getIdentifierConfiguration
public IdentifierConfiguration getIdentifierConfiguration()
Description copied from interface:IdentifierUtilGet the naming configuration.- Specified by:
getIdentifierConfigurationin interfaceIdentifierUtil
-
combineNames
public java.lang.String combineNames(java.lang.String rule, java.lang.String name1, java.lang.String name2)Description copied from interface:IdentifierUtilCombines two names using delimiting rules and appropriate separators- Specified by:
combineNamesin interfaceIdentifierUtil
-
combineNames
public java.lang.String combineNames(java.lang.String rule, java.lang.String[] names)Description copied from interface:IdentifierUtilCombines names using the specified delimiting rule and appropriate separators- Specified by:
combineNamesin interfaceIdentifierUtil- Returns:
- a combined name ex. {"TH IS", THAT} -> "TH IS_THAT"
-
combineNames
public java.lang.String combineNames(IdentifierConfiguration config, java.lang.String rule, java.lang.String[] names)
-
combineNames
public java.lang.String combineNames(IdentifierRule rule, IdentifierRule[] rules, java.lang.String[] names)
Description copied from interface:IdentifierUtilCombines names using delimiting rules and appropriate separators- Specified by:
combineNamesin interfaceIdentifierUtil- Returns:
- a combined name ex. {"TH IS", THAT} -> "TH IS_THAT"
-
combineNames
public java.lang.String combineNames(IdentifierConfiguration config, IdentifierRule rule, IdentifierRule[] rules, java.lang.String[] names)
-
combineNames
public java.lang.String combineNames(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name1, java.lang.String name2)
-
combineNames
public java.lang.String combineNames(IdentifierConfiguration config, IdentifierRule namingRule, java.lang.String[] names)
-
appendNames
public java.lang.String appendNames(IdentifierRule rule, java.lang.String name1, java.lang.String name2)
Description copied from interface:IdentifierUtilAppend the names together while maintaining delimiters.- Specified by:
appendNamesin interfaceIdentifierUtil
-
joinNames
public java.lang.String joinNames(IdentifierRule[] rules, java.lang.String[] names)
Joins multiple names together using the standard delimiting rules ex. ( {"s", "t", "c"} --> "s"."t"."c" }- Specified by:
joinNamesin interfaceIdentifierUtil
-
joinNames
public java.lang.String joinNames(java.lang.String rule, java.lang.String[] names)Description copied from interface:IdentifierUtilJoins several names with different naming rules into a single string using appropriate delimiters and separators- Specified by:
joinNamesin interfaceIdentifierUtil
-
joinNames
public java.lang.String joinNames(IdentifierRule rule, java.lang.String[] names)
Description copied from interface:IdentifierUtilJoins several names with different naming rules into a single string using appropriate delimiters and separators- Specified by:
joinNamesin interfaceIdentifierUtil
-
joinNames
public java.lang.String joinNames(IdentifierRule rule, java.lang.String[] names, java.lang.String delimiter)
Description copied from interface:IdentifierUtilJoins several names with different naming rules into a single string using the specified delimiter- Specified by:
joinNamesin interfaceIdentifierUtil
-
joinNames
public java.lang.String joinNames(java.lang.String rule, java.lang.String[] names, java.lang.String delimiter)Description copied from interface:IdentifierUtilJoins several names with different naming rules into a single string using the specified delimiter- Specified by:
joinNamesin interfaceIdentifierUtil
-
joinNames
public java.lang.String joinNames(IdentifierConfiguration config, IdentifierRule rule, java.lang.String[] names, java.lang.String delimiter)
Join names using a single naming rule and specified delimiter- Parameters:
rule-names-
-
splitName
public java.lang.String[] splitName(IdentifierConfiguration config, IdentifierRule nrule, java.lang.String name)
-
splitName
public java.lang.String[] splitName(IdentifierRule nrule, java.lang.String name)
Description copied from interface:IdentifierUtilSplits a combined name name using the provided naming rule- Specified by:
splitNamein interfaceIdentifierUtilname- the multi-value name- Returns:
- individual components of the name ex. schema.table --> { schema, table }
-
splitName
public java.lang.String[] splitName(IdentifierRule nrule, java.lang.String name, java.lang.String nameDelim)
Splits names using single naming rule and appropriate separators- Specified by:
splitNamein interfaceIdentifierUtil- Parameters:
name- the multi-value name- Returns:
- individual components of the name ex. schema.table --> { schema, table }
-
isDoubleQuoted
public static boolean isDoubleQuoted(java.lang.String name)
Returns whether a name is double quoted
-
delimit
public java.lang.String delimit(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name)
-
delimit
public java.lang.String delimit(IdentifierRule rule, java.lang.String name)
Description copied from interface:IdentifierUtilDelimit the name if it requires delimiters- Specified by:
delimitin interfaceIdentifierUtil- Parameters:
rule- the rule to use for delimitingname- the name to delimit- Returns:
- the delimited name, if delimiting was necessary.
-
delimit
public java.lang.String delimit(IdentifierRule rule, java.lang.String name, boolean force)
Description copied from interface:IdentifierUtilDelimit the string with the option to force delimiting. If force is true, the name will delimited without checking to see if it requires delimiters.- Specified by:
delimitin interfaceIdentifierUtil- Parameters:
rule- the rule to use for delimitingname- the name to delimitforce- add delimiters even if delimiting is not required- Returns:
- the delimited name, if delimiting was necessary.
-
delimit
public java.lang.String delimit(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name, boolean force)
-
isDelimited
public boolean isDelimited(IdentifierRule rule, java.lang.String name)
Description copied from interface:IdentifierUtilDetermines whether a name is delimited.- Specified by:
isDelimitedin interfaceIdentifierUtil- Parameters:
rule- the rule to use for removing delimitersname- the name to examine for delimiters
-
isDelimited
public boolean isDelimited(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name)
-
removeDelimiters
public java.lang.String removeDelimiters(IdentifierConfiguration config, java.lang.String rule, java.lang.String name)
Description copied from interface:IdentifierUtilRemove delimiters from a delimited name- Specified by:
removeDelimitersin interfaceIdentifierUtilrule- the rule to use for removing delimitersname- the name from which to remove delimiters
-
removeDelimiters
public java.lang.String removeDelimiters(IdentifierRule rule, java.lang.String name)
Description copied from interface:IdentifierUtilRemove delimiters from a delimited name- Specified by:
removeDelimitersin interfaceIdentifierUtil- Parameters:
rule- the rule to use for removing delimitersname- the name from which to remove delimiters
-
removeDelimiters
public java.lang.String removeDelimiters(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name)
-
requiresDelimiters
public boolean requiresDelimiters(IdentifierRule rule, java.lang.String name)
Description copied from interface:IdentifierUtilDetermines whether a name requires delimiters based upon:- The SQL-92 Reference definition of a valid unquoted name
- The naming rule specified
- Specified by:
requiresDelimitersin interfaceIdentifierUtil- Parameters:
rule- the rule to use for removing delimitersname- the name to examine for delimiting requirements
-
requiresDelimiters
public boolean requiresDelimiters(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name)
-
isReservedWord
public boolean isReservedWord(IdentifierRule rule, java.lang.String name)
Returns whether a name is considered a reserved word.- Specified by:
isReservedWordin interfaceIdentifierUtil
-
isReservedWord
public boolean isReservedWord(java.lang.String rule, java.lang.String name)Description copied from interface:IdentifierUtilReturns whether a name is considered a reserved word- Specified by:
isReservedWordin interfaceIdentifierUtil
-
removeDelimiters
protected java.lang.String removeDelimiters(IdentifierConfiguration config, IdentifierRule rule, java.lang.String name, java.lang.String leading, java.lang.String trailing)
-
combineNames
public java.lang.String combineNames(java.lang.String rule, java.lang.String[] rules, java.lang.String[] names)Description copied from interface:IdentifierUtilCombines names using delimiting rules and appropriate separators- Specified by:
combineNamesin interfaceIdentifierUtil- Returns:
- a combined name ex. {"TH IS", THAT} -> "TH IS_THAT"
-
truncateName
public java.lang.String truncateName(java.lang.String rule, java.lang.String name, int length)Description copied from interface:IdentifierUtilTruncates a name while maintaining delimiters.- Specified by:
truncateNamein interfaceIdentifierUtil
-
truncateName
public java.lang.String truncateName(IdentifierRule namingRule, java.lang.String name, int length)
Description copied from interface:IdentifierUtilTruncates a name while maintaining delimiters.- Specified by:
truncateNamein interfaceIdentifierUtil
-
delimit
public java.lang.String delimit(java.lang.String rule, java.lang.String name)Description copied from interface:IdentifierUtilDelimit the name if it requires delimiters- Specified by:
delimitin interfaceIdentifierUtil- Parameters:
rule- the rule to use for delimitingname- the name to delimit- Returns:
- the delimited name, if delimiting was necessary.
-
delimit
public java.lang.String delimit(java.lang.String rule, java.lang.String name, boolean force)Description copied from interface:IdentifierUtilDelimit the string with the option to force delimiting. If force is true, the name will delimited without checking to see if it requires delimiters.- Specified by:
delimitin interfaceIdentifierUtil- Parameters:
rule- the rule to use for delimitingname- the name to delimitforce- add delimiters even if delimiting is not required- Returns:
- the delimited name, if delimiting was necessary.
-
isDelimited
public boolean isDelimited(java.lang.String rule, java.lang.String name)Description copied from interface:IdentifierUtilDetermines whether a name is delimited.- Specified by:
isDelimitedin interfaceIdentifierUtil- Parameters:
rule- the rule to use for removing delimitersname- the name to examine for delimiters
-
removeDelimiters
public java.lang.String removeDelimiters(java.lang.String rule, java.lang.String name)Description copied from interface:IdentifierUtilRemove delimiters from a delimited name- Specified by:
removeDelimitersin interfaceIdentifierUtil- Parameters:
rule- the rule to use for removing delimitersname- the name from which to remove delimiters
-
requiresDelimiters
public boolean requiresDelimiters(java.lang.String rule, java.lang.String name)Description copied from interface:IdentifierUtilDetermines whether a name requires delimiters based upon:- The SQL-92 Reference definition of a valid unquoted name
- The naming rule specified
- Specified by:
requiresDelimitersin interfaceIdentifierUtil- Parameters:
rule- the rule to use for removing delimitersname- the name to examine for delimiting requirements
-
splitName
public java.lang.String[] splitName(IdentifierConfiguration config, java.lang.String rule, java.lang.String name)
-
splitName
public java.lang.String[] splitName(java.lang.String rule, java.lang.String name)Description copied from interface:IdentifierUtilSplits a combined name name using the provided naming rule- Specified by:
splitNamein interfaceIdentifierUtilname- the multi-value name- Returns:
- individual components of the name ex. schema.table --> { schema, table }
-
joinNames
public java.lang.String joinNames(java.lang.String[] rules, java.lang.String[] names)Description copied from interface:IdentifierUtilJoins several names with different naming rules into a single string using appropriate delimiters and separators- Specified by:
joinNamesin interfaceIdentifierUtil
-
appendNames
public java.lang.String appendNames(java.lang.String rule, java.lang.String name1, java.lang.String name2)Description copied from interface:IdentifierUtilAppend the names together while maintaining delimiters.- Specified by:
appendNamesin interfaceIdentifierUtil
-
removeHungarianNotation
public java.lang.String removeHungarianNotation(IdentifierRule rule, java.lang.String name)
Description copied from interface:IdentifierUtilRemoves Hungarian notation from the specified string.- Specified by:
removeHungarianNotationin interfaceIdentifierUtil
-
removeHungarianNotation
public java.lang.String removeHungarianNotation(java.lang.String rule, java.lang.String name)Description copied from interface:IdentifierUtilRemoves Hungarian notation from the specified string.- Specified by:
removeHungarianNotationin interfaceIdentifierUtil
-
splitName
public java.lang.String[] splitName(java.lang.String nrule, java.lang.String name, java.lang.String nameDelim)Description copied from interface:IdentifierUtilSplits a combined name name using the provided naming rule and delimiter.- Specified by:
splitNamein interfaceIdentifierUtilname- the multi-value name- Returns:
- individual components of the name ex. schema.table --> { schema, table }
-
convert
public java.lang.String convert(IdentifierConfiguration config, java.lang.String rule, java.lang.String name)
Description copied from interface:IdentifierUtilConvert the string using this naming configuration to the supplied naming configuration.- Specified by:
convertin interfaceIdentifierUtil
-
convertFull
public java.lang.String convertFull(IdentifierConfiguration config, java.lang.String rule, java.lang.String fullName)
Description copied from interface:IdentifierUtilConverts a qualified string-based name defined using the base configuration to the specified configuration. Returns the converted name.- Specified by:
convertFullin interfaceIdentifierUtil
-
combineFull
public java.lang.String combineFull(IdentifierConfiguration config, java.lang.String rule, java.lang.String fullName)
-
needsConversion
protected boolean needsConversion(IdentifierConfiguration config)
-
endConfiguration
public void endConfiguration()
Description copied from interface:ConfigurableInvoked upon completion of bean property configuration for this object.- Specified by:
endConfigurationin interfaceConfigurable
-
setConfiguration
public void setConfiguration(Configuration conf)
Description copied from interface:ConfigurableInvoked prior to setting bean properties.- Specified by:
setConfigurationin interfaceConfigurable
-
startConfiguration
public void startConfiguration()
Description copied from interface:ConfigurableInvoked before bean property configuration is begun on this object.- Specified by:
startConfigurationin interfaceConfigurable
-
canSplit
public boolean canSplit(java.lang.String rule, java.lang.String name)Description copied from interface:IdentifierUtilDetermines whether a name can be split into multiple components.- Specified by:
canSplitin interfaceIdentifierUtil
-
canSplit
public boolean canSplit(IdentifierRule rule, java.lang.String name)
Description copied from interface:IdentifierUtilDetermines whether a name can be split into multiple components.- Specified by:
canSplitin interfaceIdentifierUtil
-
canSplit
public boolean canSplit(java.lang.String rule, java.lang.String name, java.lang.String delim)Description copied from interface:IdentifierUtilDetermines whether a name can be split into multiple components, taking into account the specified delimiter.- Specified by:
canSplitin interfaceIdentifierUtil
-
canSplit
public boolean canSplit(IdentifierRule rule, java.lang.String name, java.lang.String delim)
Description copied from interface:IdentifierUtilDetermines whether a name can be split into multiple components, taking into account the specified delimiter.- Specified by:
canSplitin interfaceIdentifierUtil
-
combineNames
public java.lang.String combineNames(IdentifierRule rule, java.lang.String[] names)
Description copied from interface:IdentifierUtilCombines names using the specified delimiting rule and appropriate separators- Specified by:
combineNamesin interfaceIdentifierUtil- Returns:
- a combined name ex. {"TH IS", THAT} -> "TH IS_THAT"
-
combineNames
public java.lang.String combineNames(IdentifierRule rule, java.lang.String name1, java.lang.String name2)
Description copied from interface:IdentifierUtilCombines two names using delimiting rules and appropriate separators- Specified by:
combineNamesin interfaceIdentifierUtil
-
-