java.lang.Object
software.amazon.smithy.rulesengine.language.evaluation.value.Value
All Implemented Interfaces:
FromSourceLocation, ToNode
Direct Known Subclasses:
ArrayValue, BooleanValue, EmptyValue, EndpointValue, IntegerValue, RecordValue, StringValue

public abstract class Value extends Object implements FromSourceLocation, ToNode
An abstract representing a typed value.
  • Method Details

    • getType

      public abstract Type getType()
    • fromNode

      public static Value fromNode(Node source)
      Creates a Value of a specific type from the given Node information.
      Parameters:
      source - the node to deserialize.
      Returns:
      the created Value.
    • isEmpty

      public boolean isEmpty()
    • getSourceLocation

      public SourceLocation getSourceLocation()
      Description copied from interface: FromSourceLocation
      Gets the source location of a value.
      Specified by:
      getSourceLocation in interface FromSourceLocation
      Returns:
      Returns the source location of the value.
    • arrayValue

      public static ArrayValue arrayValue(List<Value> value)
      Creates an ArrayValue from a list of values.
      Parameters:
      value - the list of values for the array.
      Returns:
      returns the created ArrayValue.
    • booleanValue

      public static BooleanValue booleanValue(boolean value)
      Creates an BooleanValue from a boolean.
      Parameters:
      value - the value for the boolean.
      Returns:
      returns the created BooleanValue.
    • emptyValue

      public static EmptyValue emptyValue()
      Creates an EmptyValue.
      Returns:
      returns the created EmptyValue.
    • endpointValue

      public static EndpointValue endpointValue(Node source)
      Creates an EndpointValue from a node.
      Parameters:
      source - the node to create an endpoint from.
      Returns:
      returns the created EndpointValue.
    • integerValue

      public static IntegerValue integerValue(int value)
      Creates an IntegerValue from an integer.
      Parameters:
      value - the value for the integer.
      Returns:
      returns the created IntegerValue.
    • recordValue

      public static RecordValue recordValue(Map<Identifier,Value> value)
      Creates an RecordValue from a map of identifiers to values.
      Parameters:
      value - the map to create a record from.
      Returns:
      returns the created RecordValue.
    • stringValue

      public static StringValue stringValue(String value)
      Creates an StringValue from a string.
      Parameters:
      value - the value for the string.
      Returns:
      returns the created StringValue.
    • expectArrayValue

      public ArrayValue expectArrayValue()
      Returns the current value as an ArrayValue, throwing RuntimeException when the value is the wrong type.
      Returns:
      returns an array value.
    • expectBooleanValue

      public BooleanValue expectBooleanValue()
      Returns the current value as an ArrayValue, throwing RuntimeException when the value is the wrong type.
      Returns:
      returns a boolean value.
    • expectEndpointValue

      public EndpointValue expectEndpointValue()
      Returns the current value as an ArrayValue, throwing RuntimeException when the value is the wrong type.
      Returns:
      returns an endpoint value
    • expectIntegerValue

      public IntegerValue expectIntegerValue()
      Returns the current value as an ArrayValue, throwing RuntimeException when the value is the wrong type.
      Returns:
      returns an integer value.
    • expectRecordValue

      public RecordValue expectRecordValue()
      Returns the current value as an ArrayValue, throwing RuntimeException when the value is the wrong type.
      Returns:
      returns a record value.
    • expectStringValue

      public StringValue expectStringValue()
      Returns the current value as an ArrayValue, throwing RuntimeException when the value is the wrong type.
      Returns:
      returns a string value.