Package com.tibco.patterns.learn.recpair
Class RecPairId
- java.lang.Object
-
- com.tibco.patterns.learn.recpair.RecPairId
-
- All Implemented Interfaces:
java.lang.Comparable<RecPairId>
public final class RecPairId extends java.lang.Object implements java.lang.Comparable<RecPairId>
Stores a pair of keys. Ensures that keys are different and not null. The order of the two keys does not matter, it is still the same record pair. Can be used as a key in HashMap. Immutable class.
-
-
Constructor Summary
Constructors Constructor Description RecPairId(com.tibco.patterns.learn.jaxb.model.RecPairType xmlRecPair)Creates object that stores keys taken from the given XML record pair.RecPairId(java.lang.String key0, java.lang.String key1)Creates object that stores the two given keys for a record pair.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(RecPairId other)Compares the two keys.booleanequals(java.lang.Object obj)If the two keys are swapped, the record pairs are still equal.java.lang.StringgetKey(int index)inthashCode()static voidselfTest()Called from ProjectTest, RecPairTest.java.lang.StringtoString()
-
-
-
Constructor Detail
-
RecPairId
public RecPairId(java.lang.String key0, java.lang.String key1)Creates object that stores the two given keys for a record pair.- Parameters:
key0- - the key value for the first record.key1- - the key value for the second record.- Throws:
java.lang.NullPointerException- if a parameter is null.java.lang.IllegalArgumentException- if both keys are equal.
-
RecPairId
public RecPairId(com.tibco.patterns.learn.jaxb.model.RecPairType xmlRecPair)
Creates object that stores keys taken from the given XML record pair. To be used from Learn UI.- Parameters:
xmlRecPair- - an XML object that contains two keys. Not null.- Throws:
java.lang.NullPointerException- one of the keys in the given xmlRecPair is null.java.lang.IllegalArgumentException- if both keys in xmlRecPair are equal.
-
-
Method Detail
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getKey
public java.lang.String getKey(int index)
- Parameters:
index- - the index of the record (0 or 1).- Returns:
- the key of one of the records in the pair.
- Throws:
java.lang.IllegalArgumentException- if the index is not 0 or 1.
-
equals
public boolean equals(java.lang.Object obj)
If the two keys are swapped, the record pairs are still equal.- Overrides:
equalsin classjava.lang.Object- Parameters:
obj- - the reference object with which to compare- Returns:
- true if two RecPairId objects are compared and both refer to the same two records.
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object- Returns:
- a hash code for this pair of keys. The order of any two given keys does not matter.
-
compareTo
public int compareTo(RecPairId other)
Compares the two keys. Comparison is consistent with equals. Since IDs with swapped keys are still equal, the two lexicographically smaller key strings from both IDs are compared first, followed by the two larger strings.- Specified by:
compareToin interfacejava.lang.Comparable<RecPairId>- Parameters:
other- - the ID to compare with. Not null.- Returns:
- a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.
-
selfTest
public static void selfTest()
Called from ProjectTest, RecPairTest. Tests equals and hashCode operations.
-
-