org.apache.openjpa.jdbc.identifier
Class DBIdentifier

java.lang.Object
  extended by org.apache.openjpa.lib.identifier.IdentifierImpl
      extended by org.apache.openjpa.jdbc.identifier.DBIdentifier
All Implemented Interfaces:
Serializable, Cloneable, Comparable<Identifier>, Identifier
Direct Known Subclasses:
QualifiedDBIdentifier

public class DBIdentifier
extends IdentifierImpl
implements Cloneable, Identifier, Serializable

Encapsulates a database identifier. With a few exceptions, this class is intended to treated as immutable.

See Also:
Serialized Form

Nested Class Summary
static class DBIdentifier.DBIdentifierType
          Database identifier types.
 
Field Summary
 boolean _ignoreCase
           
static DBIdentifier NULL
          Special NULL indicator for db identifiers.
 
Constructor Summary
protected DBIdentifier()
           
protected DBIdentifier(String name, boolean delimit)
           
protected DBIdentifier(String name, DBIdentifier.DBIdentifierType type)
           
protected DBIdentifier(String name, DBIdentifier.DBIdentifierType type, boolean delimit)
           
 
Method Summary
static DBIdentifier append(DBIdentifier name, String str)
          Returns a new DBIdentifier with the given string appended.
 DBIdentifier clone()
          Clones an identifier using deep copy.
static DBIdentifier combine(DBIdentifier.DBIdentifierType id, String... names)
          Combines an array of names names using standard combining rules and returns an identifier of the specified type.
static DBIdentifier combine(DBIdentifier name, String str)
          Returns a new DBIdentifier with the given string combined using delimiting rules and appropriate separators.
 int compareTo(Identifier o)
          Comparison operator for identifiers.
static boolean equal(DBIdentifier name1, DBIdentifier name2)
          Static equality method for comparing two identifiers.
 boolean equals(Object obj)
          Equality operation for identifiers.
 boolean equalsIgnoreCase(DBIdentifier name)
          Equality operator which ignores case.
static boolean equalsIgnoreCase(DBIdentifier name1, DBIdentifier name2)
          Static equality operator which ignores case.
 boolean getIgnoreCase()
          Returns whether case is ignored during equality operations.
 DBIdentifier.DBIdentifierType getType()
          Get the identifier type
 DBIdentifier getUnqualifiedName()
          Returns the unqualified name of this identifier.
 boolean isDelimited()
          Returns true if the identifier is delimited.
static boolean isEmpty(DBIdentifier name)
          Returns true if the identifier is null or the name is null or empty.
 boolean isNull()
          Returns true if this object is NULL or has a null name component.
static boolean isNull(DBIdentifier name)
          Returns true if the identifier is null.
static String join(DBIdentifier... names)
          Joins the list of identifiers using the appropriate delimiters and returns a string based identifier.
 int length()
          The length of the name, including delimiting characters.
static DBIdentifier newCatalog(String name)
          Constructs a new identifier of type Catalog.
static DBIdentifier newCatalog(String name, boolean delimit)
          Constructs a new identifier of type Catalog ,optionally delimiting the name.
static DBIdentifier newColumn(String name)
          Constructs a new identifier of type Column.
static DBIdentifier newColumn(String name, boolean delimit)
          Constructs a new identifier of type Column,optionally delimiting the name.
static DBIdentifier newColumnDefinition(String name)
          Constructs a new identifier of type Column Definition.
static DBIdentifier newConstant(String name)
          Constructs a new identifier of type Constant.
static DBIdentifier newConstraint(String name)
          Constructs a new identifier of type Constraint.
static DBIdentifier newConstraint(String name, boolean delimit)
          Constructs a new identifier of type Constraint, optionally delimiting the name.
static DBIdentifier newDefault(String name)
          Constructs a new identifier of type Default.
static DBIdentifier newForeignKey(String name)
          Constructs a new identifier of type ForeignKey.
static DBIdentifier newForeignKey(String name, boolean delimit)
          Constructs a new identifier of type ForeignKey, optionally delimiting the name.
protected static DBIdentifier newIdentifier(String name, DBIdentifier.DBIdentifierType id)
          Constructs a new identifier with the provided name and type
static DBIdentifier newIdentifier(String name, DBIdentifier.DBIdentifierType id, boolean toUpper)
          Constructs a new identifier with the provided name an type.
protected static DBIdentifier newIdentifier(String name, DBIdentifier.DBIdentifierType id, boolean toUpper, boolean delimit)
          Constructs a new identifier (potentially a compound QualifiedDBIdentifier) with the provided name an type.
protected static DBIdentifier newIdentifier(String name, DBIdentifier.DBIdentifierType id, boolean toUpper, boolean delimit, boolean ignoreCase)
          Constructs a new identifier (potentially a compound QualifiedDBIdentifier) with the provided name an type.
static DBIdentifier newIndex(String name)
          Constructs a new identifier of type Index.
static DBIdentifier newIndex(String name, boolean delimit)
          Constructs a new identifier of type Index, optionally delimiting the name.
static DBIdentifier newSchema(String name)
          Constructs a new identifier of type Schema.
static DBIdentifier newSchema(String name, boolean delimit)
          Constructs a new identifier of type Schema, optionally delimiting the name.
static DBIdentifier newSequence(String name)
          Constructs a new identifier of type Sequence.
static DBIdentifier newSequence(String name, boolean delimit)
          Constructs a new identifier of type Sequence, optionally delimiting the name.
static DBIdentifier newTable(String name)
          Constructs a new identifier of type Table.
static DBIdentifier newTable(String name, boolean delimit)
          Constructs a new identifier of type Table, optionally delimiting the name.
static DBIdentifier preCombine(DBIdentifier name, String prefix)
          Returns a new identifier with a combined prefix and name using the standard name concatenation character ('_').
static DBIdentifier removeDelimiters(DBIdentifier name)
          Returns a new identifier with delimiters removed.
static DBIdentifier removeHungarianNotation(DBIdentifier name)
          Returns a new DBIdentifier with Hungarian notation removed.
static DBIdentifier removeLeading(DBIdentifier name, String leadingStr)
          Returns a new DBIdentifier with the specified leading string removed.
 void setIgnoreCase(boolean ignoreCase)
           
 void setName(DBIdentifier name)
          Set the name of this identifier based upon a given identifier.
 void setName(String name)
          Set the name of the identifier.
 void setName(String name, boolean delimit)
          Set the name of the identifier and optionally force delimiting of the identifier.
protected  void setType(DBIdentifier.DBIdentifierType type)
          Set the type of the identifier
static DBIdentifier[] split(DBIdentifier.DBIdentifierType resultType, String name)
          Splits a given DBIdentifier into multiple DBIdentifiers.
static DBIdentifier[] split(String name, DBIdentifier.DBIdentifierType id, String delim)
          Splits a string delimited by the specified delimiter of a given name type into an array of DBIdentifier objects.
static DBIdentifier[] toArray(String[] columnNames, DBIdentifier.DBIdentifierType id)
          Converts the provided set of names to an array of identifiers of the provided type
static DBIdentifier[] toArray(String[] names, DBIdentifier.DBIdentifierType id, boolean delimit)
          Converts the provided set of names to an array of identifiers of the provided type, optionally delimiting the names.
static DBIdentifier toLower(DBIdentifier name)
          Returns a new DBIdentifier converted to lower case - if not delimited.
static DBIdentifier toLower(DBIdentifier name, boolean force)
          Returns a new DBIdentifier converted to lower case.
static String[] toStringArray(DBIdentifier[] sNames)
          Returns a string array of names based upon the provided set of identifiers.
static DBIdentifier toUpper(DBIdentifier name)
          Returns a new DBIdentifier converted to upper case - if not delimited.
static DBIdentifier toUpper(DBIdentifier name, boolean force)
          Returns a new DBIdentifier converted to upper case.
static DBIdentifier trim(DBIdentifier name)
          Returns a new delimiter with leading and trailing spaces removed.
static DBIdentifier trimToNull(DBIdentifier name)
          Returns a copy of an identifier with name trimmed to null.
static DBIdentifier truncate(DBIdentifier name, int length)
          Returns a new DBIdentifier truncated to length
 
Methods inherited from class org.apache.openjpa.lib.identifier.IdentifierImpl
getName, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.openjpa.lib.identifier.Identifier
getName
 

Field Detail

NULL

public static final DBIdentifier NULL
Special NULL indicator for db identifiers.


_ignoreCase

public boolean _ignoreCase
Constructor Detail

DBIdentifier

protected DBIdentifier()

DBIdentifier

protected DBIdentifier(String name,
                       DBIdentifier.DBIdentifierType type)

DBIdentifier

protected DBIdentifier(String name,
                       DBIdentifier.DBIdentifierType type,
                       boolean delimit)

DBIdentifier

protected DBIdentifier(String name,
                       boolean delimit)
Method Detail

getIgnoreCase

public boolean getIgnoreCase()
Returns whether case is ignored during equality operations.

Returns:

setIgnoreCase

public void setIgnoreCase(boolean ignoreCase)

setName

public void setName(String name)
Set the name of the identifier.

Specified by:
setName in interface Identifier
Overrides:
setName in class IdentifierImpl

setName

public void setName(DBIdentifier name)
Set the name of this identifier based upon a given identifier.


setName

public void setName(String name,
                    boolean delimit)
Set the name of the identifier and optionally force delimiting of the identifier.


setType

protected void setType(DBIdentifier.DBIdentifierType type)
Set the type of the identifier

Parameters:
type -

getType

public DBIdentifier.DBIdentifierType getType()
Get the identifier type

Returns:
the identifier type

split

public static DBIdentifier[] split(String name,
                                   DBIdentifier.DBIdentifierType id,
                                   String delim)
Splits a string delimited by the specified delimiter of a given name type into an array of DBIdentifier objects. Example: COL1|"COL 2"|COL3 delim=| --> DBIdentifier[]{ COL1, "COL 2", COL3 }

Parameters:
name -
id -
delim -
Returns:

join

public static String join(DBIdentifier... names)
Joins the list of identifiers using the appropriate delimiters and returns a string based identifier.

Parameters:
resultId -
names -
Returns:

split

public static DBIdentifier[] split(DBIdentifier.DBIdentifierType resultType,
                                   String name)
Splits a given DBIdentifier into multiple DBIdentifiers. Uses the base name type and heuristics to determine the types and placement of the resulting components.

Parameters:
name -
Returns:

isEmpty

public static boolean isEmpty(DBIdentifier name)
Returns true if the identifier is null or the name is null or empty.

Parameters:
name -
Returns:

isNull

public static boolean isNull(DBIdentifier name)
Returns true if the identifier is null.

Parameters:
name -
Returns:

clone

public DBIdentifier clone()
Clones an identifier using deep copy.

Overrides:
clone in class Object

trimToNull

public static DBIdentifier trimToNull(DBIdentifier name)
Returns a copy of an identifier with name trimmed to null.

Parameters:
name -
Returns:

equals

public boolean equals(Object obj)
Equality operation for identifiers. Supports comparison with strings and objects of this type.

Overrides:
equals in class Object

isNull

public boolean isNull()
Returns true if this object is NULL or has a null name component.

Returns:

compareTo

public int compareTo(Identifier o)
Comparison operator for identifiers.

Specified by:
compareTo in interface Comparable<Identifier>
Overrides:
compareTo in class IdentifierImpl

toArray

public static DBIdentifier[] toArray(String[] columnNames,
                                     DBIdentifier.DBIdentifierType id)
Converts the provided set of names to an array of identifiers of the provided type

Parameters:
columnNames -
id -
Returns:

toArray

public static DBIdentifier[] toArray(String[] names,
                                     DBIdentifier.DBIdentifierType id,
                                     boolean delimit)
Converts the provided set of names to an array of identifiers of the provided type, optionally delimiting the names.

Parameters:
columnNames -
id -
Returns:

toStringArray

public static String[] toStringArray(DBIdentifier[] sNames)
Returns a string array of names based upon the provided set of identifiers.

Parameters:
sNames -
Returns:

newCatalog

public static DBIdentifier newCatalog(String name)
Constructs a new identifier of type Catalog.


newCatalog

public static DBIdentifier newCatalog(String name,
                                      boolean delimit)
Constructs a new identifier of type Catalog ,optionally delimiting the name.


newTable

public static DBIdentifier newTable(String name)
Constructs a new identifier of type Table.


newTable

public static DBIdentifier newTable(String name,
                                    boolean delimit)
Constructs a new identifier of type Table, optionally delimiting the name.


newColumn

public static DBIdentifier newColumn(String name)
Constructs a new identifier of type Column.


newColumn

public static DBIdentifier newColumn(String name,
                                     boolean delimit)
Constructs a new identifier of type Column,optionally delimiting the name.


newSchema

public static DBIdentifier newSchema(String name)
Constructs a new identifier of type Schema.


newSchema

public static DBIdentifier newSchema(String name,
                                     boolean delimit)
Constructs a new identifier of type Schema, optionally delimiting the name.


newIndex

public static DBIdentifier newIndex(String name)
Constructs a new identifier of type Index.


newIndex

public static DBIdentifier newIndex(String name,
                                    boolean delimit)
Constructs a new identifier of type Index, optionally delimiting the name.


newSequence

public static DBIdentifier newSequence(String name)
Constructs a new identifier of type Sequence.


newSequence

public static DBIdentifier newSequence(String name,
                                       boolean delimit)
Constructs a new identifier of type Sequence, optionally delimiting the name.


newForeignKey

public static DBIdentifier newForeignKey(String name)
Constructs a new identifier of type ForeignKey.


newForeignKey

public static DBIdentifier newForeignKey(String name,
                                         boolean delimit)
Constructs a new identifier of type ForeignKey, optionally delimiting the name.


newConstraint

public static DBIdentifier newConstraint(String name)
Constructs a new identifier of type Constraint.


newConstraint

public static DBIdentifier newConstraint(String name,
                                         boolean delimit)
Constructs a new identifier of type Constraint, optionally delimiting the name.


newConstant

public static DBIdentifier newConstant(String name)
Constructs a new identifier of type Constant.


newColumnDefinition

public static DBIdentifier newColumnDefinition(String name)
Constructs a new identifier of type Column Definition.


newDefault

public static DBIdentifier newDefault(String name)
Constructs a new identifier of type Default.


newIdentifier

protected static DBIdentifier newIdentifier(String name,
                                            DBIdentifier.DBIdentifierType id)
Constructs a new identifier with the provided name and type


newIdentifier

public static DBIdentifier newIdentifier(String name,
                                         DBIdentifier.DBIdentifierType id,
                                         boolean toUpper)
Constructs a new identifier with the provided name an type. Optionally, converting the name to upper case.


newIdentifier

protected static DBIdentifier newIdentifier(String name,
                                            DBIdentifier.DBIdentifierType id,
                                            boolean toUpper,
                                            boolean delimit)
Constructs a new identifier (potentially a compound QualifiedDBIdentifier) with the provided name an type. Optionally, converting the name to upper case and delimiting it.


newIdentifier

protected static DBIdentifier newIdentifier(String name,
                                            DBIdentifier.DBIdentifierType id,
                                            boolean toUpper,
                                            boolean delimit,
                                            boolean ignoreCase)
Constructs a new identifier (potentially a compound QualifiedDBIdentifier) with the provided name an type. Optionally, converting the name to upper case and delimiting it.


equal

public static boolean equal(DBIdentifier name1,
                            DBIdentifier name2)
Static equality method for comparing two identifiers.

Parameters:
name1 -
name2 -
Returns:

truncate

public static DBIdentifier truncate(DBIdentifier name,
                                    int length)
Returns a new DBIdentifier truncated to length

Parameters:
name -
length -
Returns:

append

public static DBIdentifier append(DBIdentifier name,
                                  String str)
Returns a new DBIdentifier with the given string appended.

Parameters:
name -
length -
Returns:

combine

public static DBIdentifier combine(DBIdentifier name,
                                   String str)
Returns a new DBIdentifier with the given string combined using delimiting rules and appropriate separators.

Parameters:
name -
length -
Returns:

toLower

public static DBIdentifier toLower(DBIdentifier name)
Returns a new DBIdentifier converted to lower case - if not delimited.

Parameters:
name -
Returns:

toLower

public static DBIdentifier toLower(DBIdentifier name,
                                   boolean force)
Returns a new DBIdentifier converted to lower case. If delimited, force to lower case using force option.

Parameters:
name -
Returns:

toUpper

public static DBIdentifier toUpper(DBIdentifier name)
Returns a new DBIdentifier converted to upper case - if not delimited.

Parameters:
name -
Returns:

toUpper

public static DBIdentifier toUpper(DBIdentifier name,
                                   boolean force)
Returns a new DBIdentifier converted to upper case. If delimited, force to upper case using force option.

Parameters:
name -
Returns:

removeLeading

public static DBIdentifier removeLeading(DBIdentifier name,
                                         String leadingStr)
Returns a new DBIdentifier with the specified leading string removed.

Parameters:
name -
Returns:

removeHungarianNotation

public static DBIdentifier removeHungarianNotation(DBIdentifier name)
Returns a new DBIdentifier with Hungarian notation removed.

Parameters:
name -
Returns:

equalsIgnoreCase

public boolean equalsIgnoreCase(DBIdentifier name)
Equality operator which ignores case.

Parameters:
name -
Returns:

equalsIgnoreCase

public static boolean equalsIgnoreCase(DBIdentifier name1,
                                       DBIdentifier name2)
Static equality operator which ignores case.

Parameters:
name -
Returns:

preCombine

public static DBIdentifier preCombine(DBIdentifier name,
                                      String prefix)
Returns a new identifier with a combined prefix and name using the standard name concatenation character ('_').

Parameters:
prefix -

removeDelimiters

public static DBIdentifier removeDelimiters(DBIdentifier name)
Returns a new identifier with delimiters removed.

Parameters:
name -
Returns:

trim

public static DBIdentifier trim(DBIdentifier name)
Returns a new delimiter with leading and trailing spaces removed.

Parameters:
name -
Returns:

length

public int length()
The length of the name, including delimiting characters.

Specified by:
length in interface Identifier
Overrides:
length in class IdentifierImpl

isDelimited

public boolean isDelimited()
Returns true if the identifier is delimited.


combine

public static DBIdentifier combine(DBIdentifier.DBIdentifierType id,
                                   String... names)
Combines an array of names names using standard combining rules and returns an identifier of the specified type.


getUnqualifiedName

public DBIdentifier getUnqualifiedName()
Returns the unqualified name of this identifier.



Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.