Class ImmutablePair<L,R>

java.lang.Object
net.dv8tion.jda.internal.utils.tuple.Pair<L,R>
net.dv8tion.jda.internal.utils.tuple.ImmutablePair<L,R>
Type Parameters:
L - the left element type
R - the right element type
All Implemented Interfaces:
Serializable

public final class ImmutablePair<L,R> extends Pair<L,R>
This class has been copied from Lang 3

An immutable pair consisting of two 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 pair, then the pair itself effectively becomes mutable. The class is also final, so a subclass can not add undesirable behaviour.

#ThreadSafe# if both paired objects are thread-safe

Since:
Lang 3.0
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    final L
    Left object
    final R
    Right object
  • Constructor Summary

    Constructors
    Constructor
    Description
    ImmutablePair(L left, R right)
    Create a new pair instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    Gets the left element from this pair.
    Gets the right element from this pair.
    static <L, R> ImmutablePair<L,R>
    of(L left, R right)
    Obtains an immutable pair of from two objects inferring the generic types.

    Methods inherited from class net.dv8tion.jda.internal.utils.tuple.Pair

    equals, hashCode, toString

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • left

      public final L left
      Left object
  • Constructor Details

    • ImmutablePair

      public ImmutablePair(L left, R right)
      Create a new pair instance.
      Parameters:
      left - the left value, may be null
      right - the right value, may be null
  • Method Details

    • of

      public static <L, R> ImmutablePair<L,R> of(L left, R right)

      Obtains an immutable pair of from two objects inferring the generic types.

      This factory allows the pair to be created using inference to obtain the generic types.

      Type Parameters:
      L - the left element type
      R - the right element type
      Parameters:
      left - the left element, may be null
      right - the right element, may be null
      Returns:
      a pair formed from the two parameters, not null
    • getLeft

      public L getLeft()
      Description copied from class: Pair

      Gets the left element from this pair.

      When treated as a key-value pair, this is the key.

      Specified by:
      getLeft in class Pair<L,R>
      Returns:
      the left element, may be null
    • getRight

      public R getRight()
      Description copied from class: Pair

      Gets the right element from this pair.

      When treated as a key-value pair, this is the value.

      Specified by:
      getRight in class Pair<L,R>
      Returns:
      the right element, may be null