Package org.h2.value

Class ExtTypeInfoEnum

java.lang.Object
org.h2.value.ExtTypeInfo
org.h2.value.ExtTypeInfoEnum
All Implemented Interfaces:
HasSQL

public final class ExtTypeInfoEnum extends ExtTypeInfo
Extended parameters of the ENUM data type.
  • Field Details

    • enumerators

      private final String[] enumerators
    • cleaned

      private final String[] cleaned
    • type

      private TypeInfo type
  • Constructor Details

    • ExtTypeInfoEnum

      public ExtTypeInfoEnum(String[] enumerators)
      Creates new instance of extended parameters of the ENUM data type.
      Parameters:
      enumerators - the enumerators. May not be modified by caller or this class.
  • Method Details

    • getEnumeratorsForBinaryOperation

      public static ExtTypeInfoEnum getEnumeratorsForBinaryOperation(Value left, Value right)
      Returns enumerators for the two specified values for a binary operation.
      Parameters:
      left - left (first) operand
      right - right (second) operand
      Returns:
      enumerators from the left or the right value, or an empty array if both values do not have enumerators
    • sanitize

      private static String sanitize(String label)
    • toSQL

      private static StringBuilder toSQL(StringBuilder builder, String[] enumerators)
    • getType

      TypeInfo getType()
    • getCount

      public int getCount()
      Get count of elements in enumeration.
      Returns:
      count of elements in enumeration
    • getEnumerator

      public String getEnumerator(int ordinal)
      Returns an enumerator with specified 0-based ordinal value.
      Parameters:
      ordinal - ordinal value of an enumerator
      Returns:
      the enumerator with specified ordinal value
    • getValue

      public ValueEnum getValue(int ordinal, CastDataProvider provider)
      Get ValueEnum instance for an ordinal.
      Parameters:
      ordinal - ordinal value of an enum
      provider - the cast information provider
      Returns:
      ValueEnum instance
    • getValue

      public ValueEnum getValue(String label, CastDataProvider provider)
      Get ValueEnum instance for a label string.
      Parameters:
      label - label string
      provider - the cast information provider
      Returns:
      ValueEnum instance
    • getValueOrNull

      private ValueEnum getValueOrNull(String label, CastDataProvider provider)
    • hashCode

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

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • 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