Class OptionalMod<T>

java.lang.Object
net.minecraftforge.fml.OptionalMod<T>

public final class OptionalMod<T> extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static OptionalMod<?>
     
    private final String
     
    private boolean
     
    private T
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    OptionalMod(boolean searched)
     
    private
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private static <T> OptionalMod<T>
     
    boolean
     
    filter(Predicate<? super T> predicate)
    If a mod object is present, and the mod object matches the given predicate, return an OptionalMod describing the value, otherwise return an empty OptionalMod.
    <U> Optional<U>
    flatMap(Function<? super T,Optional<U>> mapper)
    If a value is present, apply the provided Optional-bearing mapping function to it, return that result, otherwise return an empty Optional.
    get()
    If a mod is present in this OptionalMod, returns the value, otherwise throws NoSuchElementException.
     
    private T
     
    int
     
    void
    ifPresent(Consumer<? super T> consumer)
    If a mod object is present, invoke the specified consumer with the object, otherwise do nothing.
    boolean
    Return true if there is a mod object present, otherwise false.
    <U> Optional<U>
    map(Function<? super T,? extends U> mapper)
    If a mod object is present, apply the provided mapping function to it, and if the result is non-null, return an Optional describing the result.
    static <M> OptionalMod<M>
    of(String modId)
     
    orElse(T other)
    Return the mod object if present, otherwise return other.
    orElseGet(Supplier<? extends T> other)
    Return the mod object if present, otherwise invoke other and return the result of that invocation.
    <X extends Throwable>
    T
    orElseThrow(Supplier<? extends X> exceptionSupplier)
    Return the contained mod object, if present, otherwise throw an exception to be created by the provided supplier.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • modId

      private final String modId
    • value

      private T value
    • searched

      private boolean searched
    • EMPTY

      private static OptionalMod<?> EMPTY
  • Constructor Details

    • OptionalMod

      private OptionalMod(boolean searched)
    • OptionalMod

      private OptionalMod(String modId)
  • Method Details

    • of

      public static <M> OptionalMod<M> of(String modId)
    • empty

      private static <T> OptionalMod<T> empty()
    • getValue

      private T getValue()
    • get

      public T get()
      If a mod is present in this OptionalMod, returns the value, otherwise throws NoSuchElementException.
      Returns:
      the modobject held by this OptionalMod
      Throws:
      NoSuchElementException - if there is no modobject present
      See Also:
    • getModId

      public String getModId()
    • isPresent

      public boolean isPresent()
      Return true if there is a mod object present, otherwise false.
      Returns:
      true if there is a mod object present, otherwise false
    • ifPresent

      public void ifPresent(Consumer<? super T> consumer)
      If a mod object is present, invoke the specified consumer with the object, otherwise do nothing.
      Parameters:
      consumer - block to be executed if a mod object is present
      Throws:
      NullPointerException - if mod object is present and consumer is null
    • filter

      public OptionalMod<T> filter(Predicate<? super T> predicate)
      If a mod object is present, and the mod object matches the given predicate, return an OptionalMod describing the value, otherwise return an empty OptionalMod.
      Parameters:
      predicate - a predicate to apply to the mod object, if present
      Returns:
      an OptionalMod describing the value of this OptionalMod if a mod object is present and the mod object matches the given predicate, otherwise an empty OptionalMod
      Throws:
      NullPointerException - if the predicate is null
    • map

      public <U> Optional<U> map(Function<? super T,? extends U> mapper)
      If a mod object is present, apply the provided mapping function to it, and if the result is non-null, return an Optional describing the result. Otherwise return an empty Optional.
      Type Parameters:
      U - The type of the result of the mapping function
      Parameters:
      mapper - a mapping function to apply to the mod object, if present
      Returns:
      an Optional describing the result of applying a mapping function to the mod object of this OptionalMod, if a mod object is present, otherwise an empty Optional
      Throws:
      NullPointerException - if the mapping function is null
      API Note:
      This method supports post-processing on optional values, without the need to explicitly check for a return status.
    • flatMap

      public <U> Optional<U> flatMap(Function<? super T,Optional<U>> mapper)
      If a value is present, apply the provided Optional-bearing mapping function to it, return that result, otherwise return an empty Optional. This method is similar to map(Function), but the provided mapper is one whose result is already an Optional, and if invoked, flatMap does not wrap it with an additional Optional.
      Type Parameters:
      U - The type parameter to the Optional returned by
      Parameters:
      mapper - a mapping function to apply to the mod object, if present the mapping function
      Returns:
      the result of applying an Optional-bearing mapping function to the value of this Optional, if a value is present, otherwise an empty Optional
      Throws:
      NullPointerException - if the mapping function is null or returns a null result
    • orElse

      public T orElse(T other)
      Return the mod object if present, otherwise return other.
      Parameters:
      other - the mod object to be returned if there is no mod object present, may be null
      Returns:
      the mod object, if present, otherwise other
    • orElseGet

      public T orElseGet(Supplier<? extends T> other)
      Return the mod object if present, otherwise invoke other and return the result of that invocation.
      Parameters:
      other - a Supplier whose result is returned if no mod object is present
      Returns:
      the mod object if present otherwise the result of other.get()
      Throws:
      NullPointerException - if mod object is not present and other is null
    • orElseThrow

      public <X extends Throwable> T orElseThrow(Supplier<? extends X> exceptionSupplier) throws X
      Return the contained mod object, if present, otherwise throw an exception to be created by the provided supplier.
      Type Parameters:
      X - Type of the exception to be thrown
      Parameters:
      exceptionSupplier - The supplier which will return the exception to be thrown
      Returns:
      the present mod object
      Throws:
      X - if there is no mod object present
      NullPointerException - if no mod object is present and exceptionSupplier is null
      API Note:
      A method reference to the exception constructor with an empty argument list can be used as the supplier. For example, IllegalStateException::new
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object