org.rubato.util
Class Triple<A extends java.lang.Comparable<A>,B extends java.lang.Comparable<B>,C extends java.lang.Comparable<C>>

java.lang.Object
  extended by org.rubato.util.Triple<A,B,C>
All Implemented Interfaces:
java.lang.Comparable<Triple<A,B,C>>

public class Triple<A extends java.lang.Comparable<A>,B extends java.lang.Comparable<B>,C extends java.lang.Comparable<C>>
extends java.lang.Object
implements java.lang.Comparable<Triple<A,B,C>>

This is a generic pair class, where the coordinate classes are specified using template arguments.

Author:
Gérard Milmeister

Field Summary
 A first
          First component
 B second
          Second component
 C third
          Third component
 
Method Summary
 int compareTo(Triple<A,B,C> triple)
          The comparison of triples is according to lexicographical order.
 boolean equals(java.lang.Object obj)
          Two triples are equal if their respective components are equal.
 int hashCode()
           
static
<A extends java.lang.Comparable<A>,B extends java.lang.Comparable<B>,C extends java.lang.Comparable<C>>
Triple<A,B,C>
makeTriple(A a, B b, C c)
          Creates a triple from the three arguments.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

first

public A extends java.lang.Comparable<A> first
First component


second

public B extends java.lang.Comparable<B> second
Second component


third

public C extends java.lang.Comparable<C> third
Third component

Method Detail

equals

public boolean equals(java.lang.Object obj)
Two triples are equal if their respective components are equal.

Overrides:
equals in class java.lang.Object

compareTo

public int compareTo(Triple<A,B,C> triple)
The comparison of triples is according to lexicographical order.

Specified by:
compareTo in interface java.lang.Comparable<Triple<A extends java.lang.Comparable<A>,B extends java.lang.Comparable<B>,C extends java.lang.Comparable<C>>>

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

makeTriple

public static <A extends java.lang.Comparable<A>,B extends java.lang.Comparable<B>,C extends java.lang.Comparable<C>> Triple<A,B,C> makeTriple(A a,
                                                                                                                                               B b,
                                                                                                                                               C c)
Creates a triple from the three arguments.