Class ArgumentValue<T>

java.lang.Object
org.springframework.graphql.data.ArgumentValue<T>
Type Parameters:
T - the type of value contained

public final class ArgumentValue<T> extends Object
Simple container for the value from binding a GraphQL argument to a higher level Object, along with a flag to indicate whether the input argument was omitted altogether, as opposed to provided but set to the "null" literal.

Supported in one of the following places:

  • On a controller method parameter, either instead of @Argument in which case the argument name is determined from the method parameter name, or together with @Argument to specify the argument name.
  • As a field within the object structure of an @Argument method parameter, either initialized via a constructor argument or a setter, including as a field of an object nested at any level below the top level object.
Since:
1.1.0
Author:
Rossen Stoyanchev
See Also:
  • Method Details

    • isPresent

      public boolean isPresent()
      Return true if a non-null value is present, and false otherwise.
    • isOmitted

      public boolean isOmitted()
      Return true if the input value was omitted altogether from the input, and false if it was provided, but possibly set to the "null" literal.
    • value

      @Nullable public T value()
      Return the contained value, or null.
    • asOptional

      public Optional<T> asOptional()
      Return the contained value as a nullable Optional.
    • equals

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

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • ofNullable

      public static <T> ArgumentValue<T> ofNullable(@Nullable T value)
      Static factory method for an argument value that was provided, even if it was set to "null.
      Type Parameters:
      T - the type of value
      Parameters:
      value - the value to hold in the instance
    • omitted

      public static <T> ArgumentValue<T> omitted()
      Static factory method for an argument value that was omitted.
      Type Parameters:
      T - the type of value