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 Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean hasField​(java.lang.String fieldName)
      Checks if the named field exists and returns the result.
      boolean isIdentityField​(java.lang.String fieldName)
      Checks if the named field was marked as an identity field.
      byte[][] readArrayOfByteArrays​(java.lang.String fieldName)
      Reads the named field and returns its value.
      boolean readBoolean​(java.lang.String fieldName)
      Reads the named field and returns its value.
      boolean[] readBooleanArray​(java.lang.String fieldName)
      Reads the named field and returns its value.
      byte readByte​(java.lang.String fieldName)
      Reads the named field and returns its value.
      byte[] readByteArray​(java.lang.String fieldName)
      Reads the named field and returns its value.
      char readChar​(java.lang.String fieldName)
      Reads the named field and returns its value.
      char[] readCharArray​(java.lang.String fieldName)
      Reads the named field and returns its value.
      java.util.Date readDate​(java.lang.String fieldName)
      Reads the named field and returns its value.
      double readDouble​(java.lang.String fieldName)
      Reads the named field and returns its value.
      double[] readDoubleArray​(java.lang.String fieldName)
      Reads the named field and returns its value.
      java.lang.Object readField​(java.lang.String fieldName)
      Reads the named field and returns its value.
      float readFloat​(java.lang.String fieldName)
      Reads the named field and returns its value.
      float[] readFloatArray​(java.lang.String fieldName)
      Reads the named field and returns its value.
      int readInt​(java.lang.String fieldName)
      Reads the named field and returns its value.
      int[] readIntArray​(java.lang.String fieldName)
      Reads the named field and returns its value.
      long readLong​(java.lang.String fieldName)
      Reads the named field and returns its value.
      long[] readLongArray​(java.lang.String fieldName)
      Reads the named field and returns its value.
      java.lang.Object readObject​(java.lang.String fieldName)
      Reads the named field and returns its value.
      java.lang.Object[] readObjectArray​(java.lang.String fieldName)
      Reads the named field and returns its value.
      short readShort​(java.lang.String fieldName)
      Reads the named field and returns its value.
      short[] readShortArray​(java.lang.String fieldName)
      Reads the named field and returns its value.
      java.lang.String readString​(java.lang.String fieldName)
      Reads the named field and returns its value.
      java.lang.String[] readStringArray​(java.lang.String fieldName)
      Reads the named field and returns its value.
      PdxUnreadFields readUnreadFields()
      This method returns an object that represents all the unread fields which must be passed to writeUnreadFields in the toData code.
    • Method Detail

      • readChar

        char readChar​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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

        java.lang.String readString​(java.lang.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

        java.lang.Object readObject​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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

        java.lang.String[] readStringArray​(java.lang.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

        java.lang.Object[] readObjectArray​(java.lang.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​(java.lang.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

        java.util.Date readDate​(java.lang.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​(java.lang.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​(java.lang.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

        java.lang.Object readField​(java.lang.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.