Class ArrayEncoding.AbstractArrayEncoder<A>

java.lang.Object
org.postgresql.jdbc.ArrayEncoding.AbstractArrayEncoder<A>
Type Parameters:
A - Base array type supported.
All Implemented Interfaces:
ArrayEncoding.ArrayEncoder<A>
Direct Known Subclasses:
ArrayEncoding.FixedSizePrimitiveArrayEncoder, ArrayEncoding.NumberArrayEncoder
Enclosing class:
ArrayEncoding

private abstract static class ArrayEncoding.AbstractArrayEncoder<A> extends Object implements ArrayEncoding.ArrayEncoder<A>
Base class to implement ArrayEncoding.ArrayEncoder and provide multi-dimensional support.
  • Field Details

    • oid

      private final int oid
    • arrayOid

      final int arrayOid
  • Constructor Details

    • AbstractArrayEncoder

      AbstractArrayEncoder(int oid, int arrayOid)
      Parameters:
      oid - The default/primary base oid type.
      arrayOid - The default/primary array oid type.
  • Method Details

    • getTypeOID

      int getTypeOID(int arrayOid)
      Parameters:
      arrayOid - The array oid to get base oid type for.
      Returns:
      The base oid type for the given array oid type given to ArrayEncoding.ArrayEncoder.toBinaryRepresentation(BaseConnection, Object, int).
    • getDefaultArrayTypeOid

      public int getDefaultArrayTypeOid()
      By default returns the arrayOid this instance was instantiated with.
      Specified by:
      getDefaultArrayTypeOid in interface ArrayEncoding.ArrayEncoder<A>
      Returns:
      The default array type oid supported by this instance.
    • countNulls

      int countNulls(A array)
      Counts the number of null elements in array.
      Parameters:
      array - The array to count null elements in.
      Returns:
      The number of null elements in array.
    • toSingleDimensionBinaryRepresentation

      abstract byte[] toSingleDimensionBinaryRepresentation(BaseConnection connection, A array) throws SQLException, SQLFeatureNotSupportedException
      Creates byte[] of just the raw data (no metadata).
      Parameters:
      connection - The connection the binary representation will be used on.
      array - The array to create binary representation of. Will not be null, but may contain null elements.
      Returns:
      byte[] of just the raw data (no metadata).
      Throws:
      SQLFeatureNotSupportedException - If supportBinaryRepresentation(int) is false for oid.
      SQLException
    • toArrayString

      public String toArrayString(char delim, A array)
      Creates String representation of the array.
      Specified by:
      toArrayString in interface ArrayEncoding.ArrayEncoder<A>
      Parameters:
      delim - The character to use to delimit between elements.
      array - The array to represent as a String.
      Returns:
      String representation of the array.
    • appendArray

      abstract void appendArray(StringBuilder sb, char delim, A array)
      Append String representation of array to sb.
      Parameters:
      sb - The StringBuilder to append to.
      delim - The delimiter between elements.
      array - The array to represent. Will not be null, but may contain null elements.
    • supportBinaryRepresentation

      public boolean supportBinaryRepresentation(int oid)
      By default returns true if oid matches the arrayOid this instance was instantiated with.
      Specified by:
      supportBinaryRepresentation in interface ArrayEncoding.ArrayEncoder<A>
      Parameters:
      oid - The array oid to see check for binary support.
      Returns:
      Indication of whether ArrayEncoding.ArrayEncoder.toBinaryRepresentation(BaseConnection, Object, int) is supported for oid.