Interface PdxReader


public interface PdxReader
A PdxReader will be passed to fromData or PdxSerializer fromData by GemFire during deserialization of a PDX. The domain class needs to deserialize field members using this interface. This interface is implemented by GemFire. Each readXXX call will return the field's value. If the serialized PDX does not contain the named field then a default value will be returned. Standard Java defaults are used. For Objects this is null and for primitives it is 0 or 0.0.

You must read fields in the same order they were written by PdxWriter.

The methods on this interface are not thread safe so do not call them concurrently, on the same instance, from more than one thread.

Since:
GemFire 6.6
  • Method Details

    • readChar

      char readChar(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxFieldTypeMismatchException - if the named field exists and is not a char field.
      PdxSerializationException - if deserialization of the field fails.
    • readBoolean

      boolean readBoolean(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxFieldTypeMismatchException - if the named field exists and is not a boolean field.
      PdxSerializationException - if deserialization of the field fails.
    • readByte

      byte readByte(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxFieldTypeMismatchException - if the named field exists and is not a byte field.
      PdxSerializationException - if deserialization of the field fails.
    • readShort

      short readShort(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxFieldTypeMismatchException - if the named field exists and is not a short field.
      PdxSerializationException - if deserialization of the field fails.
    • readInt

      int readInt(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxFieldTypeMismatchException - if the named field exists and is not a int field.
      PdxSerializationException - if deserialization of the field fails.
    • readLong

      long readLong(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxFieldTypeMismatchException - if the named field exists and is not a long field.
      PdxSerializationException - if deserialization of the field fails.
    • readFloat

      float readFloat(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxFieldTypeMismatchException - if the named field exists and is not a float field.
      PdxSerializationException - if deserialization of the field fails.
    • readDouble

      double readDouble(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxFieldTypeMismatchException - if the named field exists and is not a double field.
      PdxSerializationException - if deserialization of the field fails.
    • readString

      String readString(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxFieldTypeMismatchException - if the named field exists and is not a String field.
      PdxSerializationException - if deserialization of the field fails.
    • readObject

      Object readObject(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
      PdxFieldTypeMismatchException - if the named field exists and is not an Object field.
    • readCharArray

      char[] readCharArray(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
      PdxFieldTypeMismatchException - if the named field exists and is not a char[] field.
    • readBooleanArray

      boolean[] readBooleanArray(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
      PdxFieldTypeMismatchException - if the named field exists and is not a boolean[] field.
    • readByteArray

      byte[] readByteArray(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
      PdxFieldTypeMismatchException - if the named field exists and is not a byte[] field.
    • readShortArray

      short[] readShortArray(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
      PdxFieldTypeMismatchException - if the named field exists and is not a short[] field.
    • readIntArray

      int[] readIntArray(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
      PdxFieldTypeMismatchException - if the named field exists and is not a int[] field.
    • readLongArray

      long[] readLongArray(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
      PdxFieldTypeMismatchException - if the named field exists and is not a long[] field.
    • readFloatArray

      float[] readFloatArray(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
      PdxFieldTypeMismatchException - if the named field exists and is not a float[] field.
    • readDoubleArray

      double[] readDoubleArray(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
      PdxFieldTypeMismatchException - if the named field exists and is not a double[] field.
    • readStringArray

      String[] readStringArray(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
      PdxFieldTypeMismatchException - if the named field exists and is not a String[] field.
    • readObjectArray

      Object[] readObjectArray(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
      PdxFieldTypeMismatchException - if the named field exists and is not a Object[] field.
    • readArrayOfByteArrays

      byte[][] readArrayOfByteArrays(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
      PdxFieldTypeMismatchException - if the named field exists and is not a byte[][] field.
    • readDate

      Date readDate(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
      PdxFieldTypeMismatchException - if the named field exists and is not a Date field.
    • hasField

      boolean hasField(String fieldName)
      Checks if the named field exists and returns the result.

      This can be useful when writing code that handles more than one version of a PDX class.

      Parameters:
      fieldName - the name of the field to check
      Returns:
      true if the named field exists; otherwise false
    • isIdentityField

      boolean isIdentityField(String fieldName)
      Checks if the named field was marked as an identity field.

      Note that if no fields have been marked then all the fields are used as identity fields even though this method will return false since none of them have been marked.

      Parameters:
      fieldName - the name of the field to check
      Returns:
      true if the named field exists and was marked as an identify field; otherwise false
    • readField

      Object readField(String fieldName)
      Reads the named field and returns its value.
      Parameters:
      fieldName - the name of the field to read
      Returns:
      the value of the field if the field exists; otherwise a default value
      Throws:
      PdxSerializationException - if deserialization of the field fails.
    • readUnreadFields

      PdxUnreadFields readUnreadFields()
      This method returns an object that represents all the unread fields which must be passed to writeUnreadFields in the toData code.

      Note that if setPdxIgnoreUnreadFields or client setPdxIgnoreUnreadFields are set to true then this method will always return an object that has no unread fields.

      Returns:
      an object that represents the unread fields.