Package mondrian.util

Class Triple<T0,T1,T2>

java.lang.Object
mondrian.util.Triple<T0,T1,T2>
All Implemented Interfaces:
Comparable<Triple<T0,T1,T2>>

public class Triple<T0,T1,T2> extends Object implements Comparable<Triple<T0,T1,T2>>
Tuple of three values.

Because a triple implements equals(Object), hashCode() and compareTo(mondrian.util.Triple), it can be used in any kind of Collection.

Author:
jhyde
  • Field Details

    • v0

      public T0 v0
    • v1

      public T1 v1
    • v2

      public T2 v2
  • Constructor Details

    • Triple

      public Triple(T0 v0, T1 v1, T2 v2)
      Creates a Triple.
      Parameters:
      v0 - Value #0
      v1 - Value #1
      v2 - Value #2
  • Method Details

    • of

      public static <T0, T1, T2> Triple<T0,T1,T2> of(T0 v0, T1 v1, T2 v2)
      Creates a Triple.
      Parameters:
      v0 - Value #0
      v1 - Value #1
      v2 - Value #2
      Returns:
      a new Triple
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • compareTo

      public int compareTo(Triple<T0,T1,T2> that)
      Specified by:
      compareTo in interface Comparable<T0>
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • iter0

      public static <T0, T1, T2> Iterable<T0> iter0(Iterable<Triple<T0,T1,T2>> iterable)
      Returns an iterable over the slice #0 of an iterable.
      Type Parameters:
      T0 - Type #0
      T1 - Type #1
      T2 - Type #2
      Parameters:
      iterable - Iterable over triples
      Returns:
      Iterable over the 0'th elements of each triple
    • iter1

      public static <T0, T1, T2> Iterable<T1> iter1(Iterable<Triple<T0,T1,T2>> iterable)
      Returns an iterable over the slice #1 of an iterable.
      Type Parameters:
      T0 - Type #0
      T1 - Type #1
      T2 - Type #2
      Parameters:
      iterable - Iterable over triples
      Returns:
      Iterable over the 1'th elements of each triple
    • iter2

      public static <T0, T1, T2> Iterable<T2> iter2(Iterable<Triple<T0,T1,T2>> iterable)
      Returns an iterable over the slice #2 of an iterable.
      Type Parameters:
      T0 - Type #0
      T1 - Type #1
      T2 - Type #2
      Parameters:
      iterable - Iterable over triples
      Returns:
      Iterable over the 2'th elements of each triple