org.apache.torque.om
Class ComboKey

java.lang.Object
  extended by org.apache.torque.om.ObjectKey
      extended by org.apache.torque.om.ComboKey
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable

public class ComboKey
extends ObjectKey

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 473821 2006-11-11 22:37:25Z tv $
Author:
John McNally, Daniel Rall, J. Russell Smyth
See Also:
Serialized Form

Field Summary
static char SEPARATOR
          The single character used to separate key values in a string.
static java.lang.String SEPARATOR_STRING
          The single character used to separate key values in a string.
 
Constructor Summary
ComboKey()
          Creates an ComboKey whose internal representation will be set later, through a set method
ComboKey(SimpleKey[] keys)
          Creates a ComboKey whose internal representation is an array of SimpleKeys.
ComboKey(java.lang.String keys)
          Sets the internal representation to a String array.
 
Method Summary
 void appendTo(java.lang.StringBuffer sb)
          Appends a String representation of the key to a buffer.
 boolean equals(java.lang.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.
 java.lang.Object getValue()
          Get the underlying object.
 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(java.lang.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(ComboKey keys)
          Sets the internal representation using a ComboKey.
 void setValue(SimpleKey[] keys)
          Sets the internal representation using a SimpleKey array.
 void setValue(java.lang.String keys)
          Sets the internal representation using a String of the form produced by the toString method.
 java.lang.String toString()
          A String that may consist of one section or multiple sections separated by a colon.
 
Methods inherited from class org.apache.torque.om.ObjectKey
compareTo
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

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 java.lang.String SEPARATOR_STRING
The single character used to separate key values in a string.

See Also:
Constant Field Values
Constructor Detail

ComboKey

public ComboKey()
Creates an ComboKey whose internal representation will be set later, through a set method


ComboKey

public ComboKey(SimpleKey[] keys)
Creates a ComboKey whose internal representation is an array of SimpleKeys.

Parameters:
keys - the key values

ComboKey

public ComboKey(java.lang.String keys)
Sets the internal representation to a String array.

Parameters:
keys - the key values
See Also:
toString()
Method Detail

setValue

public void setValue(SimpleKey[] keys)
Sets the internal representation using a SimpleKey array.

Parameters:
keys - the key values

setValue

public void setValue(java.lang.String keys)
Sets the internal representation using a String of the form produced by the toString method.

Specified by:
setValue in class ObjectKey
Parameters:
keys - the key values

setValue

public void setValue(ComboKey keys)
Sets the internal representation using a ComboKey.

Parameters:
keys - the key values

getValue

public java.lang.Object getValue()
Get the underlying object.

Overrides:
getValue in class ObjectKey
Returns:
the underlying object

equals

public boolean equals(java.lang.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.

Overrides:
equals in class java.lang.Object
Parameters:
keyObj - the comparison value
Returns:
whether the two objects are equal

looseEquals

public boolean looseEquals(java.lang.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(java.lang.StringBuffer sb)
Description copied from class: ObjectKey
Appends a String representation of the key to a buffer.

Overrides:
appendTo in class ObjectKey
Parameters:
sb - the StringBuffer 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()

Overrides:
hashCode in class ObjectKey
Returns:
an int value

toString

public java.lang.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:

Overrides:
toString in class java.lang.Object
Returns:
a String representation


Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.