Class LookupTableType

java.lang.Object
nz.org.riskscape.engine.types.LookupTableType
All Implemented Interfaces:
Type

public class LookupTableType extends Object implements Type

Represents an instance of a LookupTable

  • Field Details

    • WILD

      public static final LookupTableType WILD
    • VISITOR_META_VALUE

      public static final Object VISITOR_META_VALUE
    • VISITOR_META_KEY

      public static final Object VISITOR_META_KEY
  • Constructor Details

    • LookupTableType

      public LookupTableType(Type keyType, Type valueType)
  • Method Details

    • create

      public static LookupTableType create(Type keyType, Type valueType)
    • coerce

      public Object coerce(Object value) throws CoercionException
      Description copied from interface: Type

      Attempt to convert the given value in to one represented by this type.

      Specified by:
      coerce in interface Type
      Parameters:
      value - The value to coerce
      Returns:
      A value that conforms to this type
      Throws:
      CoercionException - if the given object can not be converted to something represented by this type
    • internalType

      public Class<?> internalType()
      Description copied from interface: Type

      The underlying java class used to represent this type.

      Specified by:
      internalType in interface Type
    • asStruct

      public Struct asStruct()
      Specified by:
      asStruct in interface Type
    • estimateSize

      public int estimateSize(Object entry)
      Description copied from interface: Type

      Estimate the number of bytes used to serialize the given value to an output stream.

      Specified by:
      estimateSize in interface Type
      Parameters:
      entry - the value of this type to measure. Must be of Type.internalType() or a ClassCastException is going to happen
      Returns:
      the estimated number of bytes, or zero if no estimation was possible.
    • toBytes

      public void toBytes(DataOutputStream os, Object toWrite) throws IOException
      Specified by:
      toBytes in interface Type
      Throws:
      IOException
    • fromBytes

      public Object fromBytes(DataInputStream in) throws IOException
      Specified by:
      fromBytes in interface Type
      Throws:
      IOException
    • toString

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

      public <T, U> U visit(TypeVisitor<T,U> tv, T data)
      Description copied from interface: Type

      Type specific visiting logic. Types must decide whether they are atomic or compound and call the relevant method on TypeVisitor. It's up to each compound type to decide how they want to structure their children, e.g. order, metadata, and what's considered a child or not.

      Specified by:
      visit in interface Type
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

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

      public Type getKeyType()
    • getValueType

      public Type getValueType()