Class DBIdentifier

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<Identifier>, Identifier
    Direct Known Subclasses:
    QualifiedDBIdentifier

    public class DBIdentifier
    extends IdentifierImpl
    implements java.lang.Cloneable, Identifier, java.io.Serializable
    Encapsulates a database identifier. With a few exceptions, this class is intended to treated as immutable.
    See Also:
    Serialized Form
    • 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​(java.lang.String name,
                               boolean delimit)
    • Method Detail

      • getIgnoreCase

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

        public void setIgnoreCase​(boolean ignoreCase)
      • setName

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

        public void setName​(java.lang.String name,
                            boolean delimit)
        Set the name of the identifier and optionally force delimiting of the identifier.
      • split

        public static DBIdentifier[] split​(java.lang.String name,
                                           DBIdentifier.DBIdentifierType id,
                                           java.lang.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 }
      • join

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

        public static DBIdentifier[] split​(DBIdentifier.DBIdentifierType resultType,
                                           java.lang.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 -
      • isEmpty

        public static boolean isEmpty​(DBIdentifier name)
        Returns true if the identifier is null or the name is null or empty.
        Parameters:
        name -
      • isNull

        public static boolean isNull​(DBIdentifier name)
        Returns true if the identifier is null.
        Parameters:
        name -
      • clone

        public DBIdentifier clone()
        Clones an identifier using deep copy.
        Overrides:
        clone in class java.lang.Object
      • trimToNull

        public static DBIdentifier trimToNull​(DBIdentifier name)
        Returns a copy of an identifier with name trimmed to null.
        Parameters:
        name -
      • equals

        public boolean equals​(java.lang.Object obj)
        Equality operation for identifiers. Supports comparison with strings and objects of this type.
        Overrides:
        equals in class java.lang.Object
      • isNull

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

        public static DBIdentifier[] toArray​(java.lang.String[] columnNames,
                                             DBIdentifier.DBIdentifierType id)
        Converts the provided set of names to an array of identifiers of the provided type
        Parameters:
        columnNames -
        id -
      • toArray

        public static DBIdentifier[] toArray​(java.lang.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:
        names - columnNames or other DB identifier names
        id -
      • toStringArray

        public static java.lang.String[] toStringArray​(DBIdentifier[] sNames)
        Returns a string array of names based upon the provided set of identifiers.
        Parameters:
        sNames -
      • newCatalog

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public static DBIdentifier newConstant​(java.lang.String name)
        Constructs a new identifier of type Constant.
      • newColumnDefinition

        public static DBIdentifier newColumnDefinition​(java.lang.String name)
        Constructs a new identifier of type Column Definition.
      • newDefault

        public static DBIdentifier newDefault​(java.lang.String name)
        Constructs a new identifier of type Default.
      • newIdentifier

        public static DBIdentifier newIdentifier​(java.lang.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​(java.lang.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.
      • newProcedure

        public static DBIdentifier newProcedure​(java.lang.String name)
      • newIdentifier

        protected static DBIdentifier newIdentifier​(java.lang.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 -
      • truncate

        public static DBIdentifier truncate​(DBIdentifier name,
                                            int length)
        Returns a new DBIdentifier truncated to length
        Parameters:
        name -
        length -
      • append

        public static DBIdentifier append​(DBIdentifier name,
                                          java.lang.String str)
        Returns a new DBIdentifier with the given string appended.
        Parameters:
        name -
        length -
      • combine

        public static DBIdentifier combine​(DBIdentifier name,
                                           java.lang.String str)
        Returns a new DBIdentifier with the given string combined using delimiting rules and appropriate separators.
        Parameters:
        name -
        length -
      • toLower

        public static DBIdentifier toLower​(DBIdentifier name)
        Returns a new DBIdentifier converted to lower case - if not delimited.
        Parameters:
        name -
      • 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 -
      • toUpper

        public static DBIdentifier toUpper​(DBIdentifier name)
        Returns a new DBIdentifier converted to upper case - if not delimited.
        Parameters:
        name -
      • 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 -
      • removeLeading

        public static DBIdentifier removeLeading​(DBIdentifier name,
                                                 java.lang.String leadingStr)
        Returns a new DBIdentifier with the specified leading string removed.
        Parameters:
        name -
      • removeHungarianNotation

        public static DBIdentifier removeHungarianNotation​(DBIdentifier name)
        Returns a new DBIdentifier with Hungarian notation removed.
        Parameters:
        name -
      • equalsIgnoreCase

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

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

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

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

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

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

        public static DBIdentifier combine​(DBIdentifier.DBIdentifierType id,
                                           java.lang.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.