Package org.apache.commons.lang3.tuple
Class ImmutableTriple<L,M,R>
- java.lang.Object
-
- org.apache.commons.lang3.tuple.Triple<L,M,R>
-
- org.apache.commons.lang3.tuple.ImmutableTriple<L,M,R>
-
- Type Parameters:
L
- the left element typeM
- the middle element typeR
- the right element type
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<Triple<L,M,R>>
public final class ImmutableTriple<L,M,R> extends Triple<L,M,R>
An immutable triple consisting of three
Object
elements.Although the implementation is immutable, there is no restriction on the objects that may be stored. If mutable objects are stored in the triple, then the triple itself effectively becomes mutable. The class is also
final
, so a subclass can not add undesirable behavior.#ThreadSafe# if all three objects are thread-safe
- Since:
- 3.2
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static ImmutableTriple<?,?,?>[]
EMPTY_ARRAY
An empty array.L
left
Left objectM
middle
Middle objectR
right
Right object
-
Constructor Summary
Constructors Constructor Description ImmutableTriple(L left, M middle, R right)
Create a new triple instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <L,M,R>
ImmutableTriple<L,M,R>[]emptyArray()
Returns the empty array singleton that can be assigned without compiler warning.L
getLeft()
Gets the left element from this triple.M
getMiddle()
Gets the middle element from this triple.R
getRight()
Gets the right element from this triple.static <L,M,R>
ImmutableTriple<L,M,R>nullTriple()
Returns an immutable triple of nulls.static <L,M,R>
ImmutableTriple<L,M,R>of(L left, M middle, R right)
Obtains an immutable triple of three objects inferring the generic types.
-
-
-
Field Detail
-
EMPTY_ARRAY
public static final ImmutableTriple<?,?,?>[] EMPTY_ARRAY
An empty array.Consider using
emptyArray()
to avoid generics warnings.- Since:
- 3.10.
-
left
public final L left
Left object
-
middle
public final M middle
Middle object
-
right
public final R right
Right object
-
-
Method Detail
-
emptyArray
public static <L,M,R> ImmutableTriple<L,M,R>[] emptyArray()
Returns the empty array singleton that can be assigned without compiler warning.- Type Parameters:
L
- the left element typeM
- the middle element typeR
- the right element type- Returns:
- the empty array singleton that can be assigned without compiler warning.
- Since:
- 3.10.
-
nullTriple
public static <L,M,R> ImmutableTriple<L,M,R> nullTriple()
Returns an immutable triple of nulls.- Type Parameters:
L
- the left element of this triple. Value isnull
.M
- the middle element of this triple. Value isnull
.R
- the right element of this triple. Value isnull
.- Returns:
- an immutable triple of nulls.
- Since:
- 3.6
-
of
public static <L,M,R> ImmutableTriple<L,M,R> of(L left, M middle, R right)
Obtains an immutable triple of three objects inferring the generic types.
This factory allows the triple to be created using inference to obtain the generic types.
- Type Parameters:
L
- the left element typeM
- the middle element typeR
- the right element type- Parameters:
left
- the left element, may be nullmiddle
- the middle element, may be nullright
- the right element, may be null- Returns:
- a triple formed from the three parameters, not null
-
getLeft
public L getLeft()
Gets the left element from this triple.
-
getMiddle
public M getMiddle()
Gets the middle element from this triple.
-
-