Package org.h2.value

Class ValueEnumBase

All Implemented Interfaces:
HasSQL, Typed
Direct Known Subclasses:
ValueEnum

public class ValueEnumBase extends Value
Base implementation of the ENUM data type. This base implementation is only used in 2.0.* clients when they work with 1.4.* servers.
  • Field Details

    • label

      final String label
    • ordinal

      private final int ordinal
  • Constructor Details

    • ValueEnumBase

      protected ValueEnumBase(String label, int ordinal)
  • Method Details

    • add

      public Value add(Value v)
      Description copied from class: Value
      Add a value and return the result.
      Overrides:
      add in class Value
      Parameters:
      v - the value to add
      Returns:
      the result
    • compareTypeSafe

      public int compareTypeSafe(Value v, CompareMode mode, CastDataProvider provider)
      Description copied from class: Value
      Compare this value against another value given that the values are of the same data type.
      Specified by:
      compareTypeSafe in class Value
      Parameters:
      v - the other value
      mode - the compare mode
      provider - the cast information provider
      Returns:
      0 if both values are equal, -1 if the other value is smaller, and 1 otherwise
    • divide

      public Value divide(Value v, TypeInfo quotientType)
      Description copied from class: Value
      Divide by a value and return the result.
      Overrides:
      divide in class Value
      Parameters:
      v - the divisor
      quotientType - the type of quotient (used only to read precision and scale when applicable)
      Returns:
      the result
    • equals

      public boolean equals(Object other)
      Description copied from class: Value
      Check if the two values have the same hash code. No data conversion is made; this method returns false if the other object is not of the same class. For some values, compareTo may return 0 even if equals return false. Example: ValueDecimal 0.0 and 0.00.
      Specified by:
      equals in class Value
      Parameters:
      other - the other value
      Returns:
      true if they are equal
    • get

      public static ValueEnumBase get(String label, int ordinal)
      Get or create an enum value with the given label and ordinal.
      Parameters:
      label - the label
      ordinal - the ordinal
      Returns:
      the value
    • getInt

      public int getInt()
      Description copied from class: Value
      Returns this value as a Java int value.
      Overrides:
      getInt in class Value
      Returns:
      value
    • getLong

      public long getLong()
      Description copied from class: Value
      Returns this value as a Java long value.
      Overrides:
      getLong in class Value
      Returns:
      value
    • getBigDecimal

      public BigDecimal getBigDecimal()
      Overrides:
      getBigDecimal in class Value
    • getFloat

      public float getFloat()
      Description copied from class: Value
      Returns this value as a Java float value.
      Overrides:
      getFloat in class Value
      Returns:
      value
    • getDouble

      public double getDouble()
      Description copied from class: Value
      Returns this value as a Java double value.
      Overrides:
      getDouble in class Value
      Returns:
      value
    • getSignum

      public int getSignum()
      Overrides:
      getSignum in class Value
    • getSQL

      public StringBuilder getSQL(StringBuilder builder, int sqlFlags)
      Description copied from interface: HasSQL
      Appends the SQL statement of this object to the specified builder.
      Parameters:
      builder - string builder
      sqlFlags - formatting flags
      Returns:
      the specified string builder
    • getString

      public String getString()
      Description copied from class: Value
      Get the value as a string.
      Specified by:
      getString in class Value
      Returns:
      the string
    • getType

      public TypeInfo getType()
      Description copied from interface: Typed
      Returns the data type.
      Specified by:
      getType in interface Typed
      Specified by:
      getType in class Value
      Returns:
      the data type
    • getValueType

      public int getValueType()
      Description copied from class: Value
      Get the value type.
      Specified by:
      getValueType in class Value
      Returns:
      the value type
    • getMemory

      public int getMemory()
      Description copied from class: Value
      Get the memory used by this object.
      Overrides:
      getMemory in class Value
      Returns:
      the memory used in bytes
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in class Value
    • modulus

      public Value modulus(Value v)
      Description copied from class: Value
      Take the modulus with a value and return the result.
      Overrides:
      modulus in class Value
      Parameters:
      v - the value to take the modulus with
      Returns:
      the result
    • multiply

      public Value multiply(Value v)
      Description copied from class: Value
      Multiply with a value and return the result.
      Overrides:
      multiply in class Value
      Parameters:
      v - the value to multiply with
      Returns:
      the result
    • subtract

      public Value subtract(Value v)
      Description copied from class: Value
      Subtract a value and return the result.
      Overrides:
      subtract in class Value
      Parameters:
      v - the value to subtract
      Returns:
      the result