mondrian.util
Class Pair<L,R>

java.lang.Object
  extended by mondrian.util.Pair<L,R>
All Implemented Interfaces:
Comparable<Pair<L,R>>, Map.Entry<L,R>

public class Pair<L,R>
extends Object
implements Comparable<Pair<L,R>>, Map.Entry<L,R>

Pair of values.

Because a pair implements equals(Object), hashCode() and compareTo(Pair), it can be used in any kind of Collection.

Since:
Apr 19, 2007
Author:
jhyde

Field Summary
 L left
           
 R right
           
 
Constructor Summary
Pair(L left, R right)
          Creates a pair.
Pair(Map.Entry<? extends L,? extends R> entry)
          Creates a pair representing the same mapping as the specified entry.
 
Method Summary
 int compareTo(Pair<L,R> that)
           
 boolean equals(Object obj)
           
 L getKey()
           
 R getValue()
           
 int hashCode()
           
static
<L,R> Iterable<L>
leftIter(Iterable<Pair<L,R>> iterable)
          Returns an iterable over the left slice of an iterable.
static
<L,R> Pair<L,R>
of(L left, R right)
          Creates a Pair.
static
<L,R> Iterable<R>
rightIter(Iterable<Pair<L,R>> iterable)
          Returns an iterable over the right slice of an iterable.
 R setValue(R value)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

left

public L left

right

public R right
Constructor Detail

Pair

public Pair(L left,
            R right)
Creates a pair.

Parameters:
left - Left value
right - Right value

Pair

public Pair(Map.Entry<? extends L,? extends R> entry)
Creates a pair representing the same mapping as the specified entry.

Parameters:
entry - the entry to copy
Method Detail

of

public static <L,R> Pair<L,R> of(L left,
                                 R right)
Creates a Pair.

Parameters:
left - Left value
right - Right value
Returns:
a new Pair

equals

public boolean equals(Object obj)
Specified by:
equals in interface Map.Entry<L,R>
Overrides:
equals in class Object

hashCode

public int hashCode()
Specified by:
hashCode in interface Map.Entry<L,R>
Overrides:
hashCode in class Object

compareTo

public int compareTo(Pair<L,R> that)
Specified by:
compareTo in interface Comparable<Pair<L,R>>

toString

public String toString()
Overrides:
toString in class Object

getKey

public L getKey()
Specified by:
getKey in interface Map.Entry<L,R>

getValue

public R getValue()
Specified by:
getValue in interface Map.Entry<L,R>

setValue

public R setValue(R value)
Specified by:
setValue in interface Map.Entry<L,R>

leftIter

public static <L,R> Iterable<L> leftIter(Iterable<Pair<L,R>> iterable)
Returns an iterable over the left slice of an iterable.

Type Parameters:
L - Left type
R - Right type
Parameters:
iterable - Iterable over pairs
Returns:
Iterable over the left elements

rightIter

public static <L,R> Iterable<R> rightIter(Iterable<Pair<L,R>> iterable)
Returns an iterable over the right slice of an iterable.

Type Parameters:
L - right type
R - Right type
Parameters:
iterable - Iterable over pairs
Returns:
Iterable over the right elements

Get Mondrian at SourceForge.net. Fast, secure and free Open Source software downloads