Class MutableTriple<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>>

    public class MutableTriple<L,​M,​R>
    extends Triple<L,​M,​R>
    A mutable triple consisting of three Object elements.

    Not #ThreadSafe#

    Since:
    3.2
    See Also:
    Serialized Form
    • Constructor Detail

      • MutableTriple

        public MutableTriple()
        Create a new triple instance of three nulls.
      • MutableTriple

        public MutableTriple​(L left,
                             M middle,
                             R right)
        Create a new triple instance.
        Parameters:
        left - the left value, may be null
        middle - the middle value, may be null
        right - the right value, may be null
    • Method Detail

      • emptyArray

        public static <L,​M,​R> MutableTriple<L,​M,​R>[] emptyArray()
        Returns 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.
      • of

        public static <L,​M,​R> MutableTriple<L,​M,​R> of​(L left,
                                                                              M middle,
                                                                              R right)
        Obtains a mutable 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

        public static <L,​M,​R> MutableTriple<L,​M,​R> ofNonNull​(L left,
                                                                                     M middle,
                                                                                     R right)
        Obtains a mutable 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

        public L getLeft()
        Gets the left element from this triple.
        Specified by:
        getLeft in class Triple<L,​M,​R>
        Returns:
        the left element, may be null
      • getMiddle

        public M getMiddle()
        Gets the middle element from this triple.
        Specified by:
        getMiddle in class Triple<L,​M,​R>
        Returns:
        the middle element, may be null
      • getRight

        public R getRight()
        Gets the right element from this triple.
        Specified by:
        getRight in class Triple<L,​M,​R>
        Returns:
        the right element, may be null
      • setLeft

        public void setLeft​(L left)
        Sets the left element of the triple.
        Parameters:
        left - the new value of the left element, may be null
      • setMiddle

        public void setMiddle​(M middle)
        Sets the middle element of the triple.
        Parameters:
        middle - the new value of the middle element, may be null
      • setRight

        public void setRight​(R right)
        Sets the right element of the triple.
        Parameters:
        right - the new value of the right element, may be null