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 type.M
- the middle element type.R
- the right element type.
- All Implemented Interfaces:
Serializable
,Comparable<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.
#ThreadSafe# if all three objects are thread-safe.
- Since:
- 3.2
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ImmutableTriple<?,
?, ?>[] An empty array.final L
Left object.final M
Middle object.final R
Right object. -
Constructor Summary
ConstructorsConstructorDescriptionImmutableTriple
(L left, M middle, R right) Constructs a new triple instance. -
Method Summary
Modifier and TypeMethodDescriptionstatic <L,
M, R> ImmutableTriple<L, M, R>[] Gets the empty array singleton that can be assigned without compiler warning.getLeft()
Gets the left element from this triple.Gets the middle element from this triple.getRight()
Gets the right element from this triple.static <L,
M, R> ImmutableTriple <L, M, R> Gets the immutable triple of nulls singleton.static <L,
M, R> ImmutableTriple <L, M, R> of
(L left, M middle, R right) Creates an immutable triple of three objects inferring the generic types.static <L,
M, R> ImmutableTriple <L, M, R> ofNonNull
(L left, M middle, R right) Creates an immutable triple of three non-null objects inferring the generic types.
-
Field Details
-
EMPTY_ARRAY
An empty array.Consider using
emptyArray()
to avoid generics warnings.- Since:
- 3.10
-
left
Left object. -
middle
Middle object. -
right
Right object.
-
-
Constructor Details
-
Method Details
-
emptyArray
Gets the empty array singleton that can be assigned without compiler warning.- Type Parameters:
L
- the left element type.M
- the middle element type.R
- the right element type.- Returns:
- the empty array singleton that can be assigned without compiler warning.
- Since:
- 3.10
-
nullTriple
Gets the immutable triple of nulls singleton.- 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
Creates 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 type.M
- the middle element type.R
- the right element type.- Parameters:
left
- the left element, may be null.middle
- the middle element, may be null.right
- the right element, may be null.- Returns:
- a triple formed from the three parameters, not null.
-
ofNonNull
Creates an immutable triple of three non-null 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 type.M
- the middle element type.R
- the right element type.- Parameters:
left
- the left element, may not be null.middle
- the middle element, may not be null.right
- the right element, may not be null.- Returns:
- a triple formed from the three parameters, not null.
- Throws:
NullPointerException
- if any input is null.- Since:
- 3.13.0
-
getLeft
Gets the left element from this triple. -
getMiddle
Gets the middle element from this triple. -
getRight
Gets the right element from this triple.
-