Package org.apache.torque.om
Class ComboKey
- java.lang.Object
-
- org.apache.torque.om.ObjectKey<SimpleKey<?>[]>
-
- org.apache.torque.om.ComboKey
-
- All Implemented Interfaces:
Serializable
,Comparable<Object>
public class ComboKey extends ObjectKey<SimpleKey<?>[]>
This class can be used as an ObjectKey to uniquely identify an object within an application where the key consists of multiple entities (such a String[] representing a multi-column primary key).- Version:
- $Id: ComboKey.java 1879896 2020-07-15 15:03:46Z gk $
- Author:
- John McNally, Daniel Rall, J. Russell Smyth
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static char
SEPARATOR
The single character used to separate key values in a string.static String
SEPARATOR_STRING
The single character used to separate key values in a string.
-
Constructor Summary
Constructors Constructor Description ComboKey()
Initializes the internal key value tonull
.ComboKey(String key)
Creates an ComboKey and set its internal representationComboKey(ComboKey key)
Creates a ComboKey that is equivalent to key.ComboKey(SimpleKey<?>[] key)
Creates an ComboKey and set its internal representation
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
appendTo(StringBuilder sb)
Appends a String representation of the key to a buffer.boolean
equals(Object keyObj)
This method will return true if the conditions for a looseEquals are met and in addition no parts of the keys are null.int
getJdbcType()
Returns the JDBC type of the key as defined injava.sql.Types
.int
hashCode()
if the underlying key array is not null and the first element is not null this method returns the hashcode of the first element in the key.boolean
looseEquals(Object keyObj)
keyObj is equal to this ComboKey if keyObj is a ComboKey, String, ObjectKey[], or String[] that contains the same information this key contains.void
setValue(String keys)
Sets the internal representation using a String of the form produced by the toString method.String
toString()
A String that may consist of one section or multiple sections separated by a colon.
-
-
-
Field Detail
-
SEPARATOR
public static final char SEPARATOR
The single character used to separate key values in a string.- See Also:
- Constant Field Values
-
SEPARATOR_STRING
public static final String SEPARATOR_STRING
The single character used to separate key values in a string.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ComboKey
public ComboKey()
Initializes the internal key value tonull
.
-
ComboKey
public ComboKey(String key)
Creates an ComboKey and set its internal representation- Parameters:
key
- the key value as String
-
ComboKey
public ComboKey(SimpleKey<?>[] key)
Creates an ComboKey and set its internal representation- Parameters:
key
- the key value
-
ComboKey
public ComboKey(ComboKey key)
Creates a ComboKey that is equivalent to key.- Parameters:
key
- the key value
-
-
Method Detail
-
setValue
public void setValue(String keys)
Sets the internal representation using a String of the form produced by the toString method.- Parameters:
keys
- the key values
-
getJdbcType
public int getJdbcType()
Returns the JDBC type of the key as defined injava.sql.Types
.- Specified by:
getJdbcType
in classObjectKey<SimpleKey<?>[]>
- Returns:
Types.ARRAY
.
-
equals
public boolean equals(Object keyObj)
This method will return true if the conditions for a looseEquals are met and in addition no parts of the keys are null.
-
looseEquals
public boolean looseEquals(Object keyObj)
keyObj is equal to this ComboKey if keyObj is a ComboKey, String, ObjectKey[], or String[] that contains the same information this key contains. For example A String[] might be equal to this key, if this key was instantiated with a String[] and the arrays contain equal Strings. Another example, would be if keyObj is an ComboKey that was instantiated with a ObjectKey[] and this ComboKey was instantiated with a String[], but the ObjectKeys in the ObjectKey[] were instantiated with Strings that equal the Strings in this KeyObject's String[] This method is not as strict as the equals method which does not allow any null keys parts, while the internal key may not be null portions may be, and the two object will be considered equal if their null portions match.- Parameters:
keyObj
- the comparison value- Returns:
- whether the two objects are equal
-
appendTo
public void appendTo(StringBuilder sb)
Description copied from class:ObjectKey
Appends a String representation of the key to a buffer.- Overrides:
appendTo
in classObjectKey<SimpleKey<?>[]>
- Parameters:
sb
- the StringBuilder to append- See Also:
toString()
-
hashCode
public int hashCode()
if the underlying key array is not null and the first element is not null this method returns the hashcode of the first element in the key. Otherwise calls ObjectKey.hashCode()
-
toString
public String toString()
A String that may consist of one section or multiple sections separated by a colon.Each Key is represented by
[type N|S|D][value][:]
.Example:
the ComboKey(StringKey("key1"), NumberKey(2)) is represented as
Skey1:N2:
-
-