Skip navigation links

Oracle® Coherence Java API Reference
Release 3.6.0.0

E15725-01


com.tangosol.io.pof
Class PofDeltaCompressor

java.lang.Object
  extended by com.tangosol.io.BinaryDeltaCompressor
      extended by com.tangosol.io.pof.PofDeltaCompressor

All Implemented Interfaces:
DeltaCompressor, PofConstants

public class PofDeltaCompressor
extends BinaryDeltaCompressor
implements DeltaCompressor, PofConstants

A DeltaCompressor implementation that works with Portable Object Format (POF) values. Note that while the POF parsing is stateful, the PofDeltaCompressor itself is still stateless, deferring all state management to a per-invocation data structure.

Author:
cp 2009.01.26

Nested Class Summary
protected static class PofDeltaCompressor.ChangeTracker
          When determining a delta between two POF buffers, the ChangeTracker keeps track of whether the current location within the two POF streams is part of a differing portion or part of an identical portion.

 

Field Summary

 

Fields inherited from class com.tangosol.io.BinaryDeltaCompressor
DELTA_TRUNCATE, FMT_BINDIFF, FMT_EMPTY, FMT_REPLACE, MIN_BLOCK, NO_BINARY, OP_APPEND, OP_EXTRACT, OP_TERM

 

Fields inherited from interface com.tangosol.io.pof.PofConstants
J_BIG_DECIMAL, J_BIG_INTEGER, J_BINARY, J_BOOLEAN, J_BOOLEAN_ARRAY, J_BYTE, J_BYTE_ARRAY, J_CHAR_ARRAY, J_CHARACTER, J_COLLECTION, J_DATE, J_DATETIME, J_DOUBLE, J_DOUBLE_ARRAY, J_FLOAT, J_FLOAT_ARRAY, J_INT_ARRAY, J_INTEGER, J_LONG, J_LONG_ARRAY, J_MAP, J_NULL, J_OBJECT_ARRAY, J_QUAD, J_RAW_DATE, J_RAW_DATETIME, J_RAW_DAY_TIME_INTERVAL, J_RAW_TIME, J_RAW_TIME_INTERVAL, J_RAW_YEAR_MONTH_INTERVAL, J_SHORT, J_SHORT_ARRAY, J_SPARSE_ARRAY, J_STRING, J_TIME, J_TIMESTAMP, J_USER_TYPE, MAX_DECIMAL128_SCALE, MAX_DECIMAL128_UNSCALED, MAX_DECIMAL32_SCALE, MAX_DECIMAL32_UNSCALED, MAX_DECIMAL64_SCALE, MAX_DECIMAL64_UNSCALED, MIN_DECIMAL128_SCALE, MIN_DECIMAL32_SCALE, MIN_DECIMAL64_SCALE, T_ARRAY, T_BOOLEAN, T_CHAR, T_CHAR_STRING, T_COLLECTION, T_DATE, T_DATETIME, T_DAY_TIME_INTERVAL, T_DECIMAL128, T_DECIMAL32, T_DECIMAL64, T_FLOAT128, T_FLOAT32, T_FLOAT64, T_IDENTITY, T_INT128, T_INT16, T_INT32, T_INT64, T_MAP, T_OCTET, T_OCTET_STRING, T_REFERENCE, T_SPARSE_ARRAY, T_TIME, T_TIME_INTERVAL, T_UNIFORM_ARRAY, T_UNIFORM_COLLECTION, T_UNIFORM_KEYS_MAP, T_UNIFORM_MAP, T_UNIFORM_SPARSE_ARRAY, T_UNKNOWN, T_YEAR_MONTH_INTERVAL, V_BOOLEAN_FALSE, V_BOOLEAN_TRUE, V_COLLECTION_EMPTY, V_FP_NAN, V_FP_NEG_INFINITY, V_FP_POS_INFINITY, V_INT_0, V_INT_1, V_INT_10, V_INT_11, V_INT_12, V_INT_13, V_INT_14, V_INT_15, V_INT_16, V_INT_17, V_INT_18, V_INT_19, V_INT_2, V_INT_20, V_INT_21, V_INT_22, V_INT_3, V_INT_4, V_INT_5, V_INT_6, V_INT_7, V_INT_8, V_INT_9, V_INT_NEG_1, V_REFERENCE_NULL, V_STRING_ZERO_LENGTH

 

Constructor Summary
PofDeltaCompressor()
          Default constructor.

 

Method Summary
 ReadBuffer createDelta(ReadBuffer bufOld, ReadBuffer bufNew)
          Actually create a delta in the binary delta format.
protected  void diffCollection(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker)
          Within the two passed POF streams, parse and compare an array or collection.
protected  void diffMap(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker)
          Within the two passed POF streams, parse and compare a Map of keys and values.
protected  void diffPackedInt(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker)
          Within the two passed POF streams, parse and compare a packed integer value.
protected  void diffPackedInts(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker, int cInts)
          Within the two passed POF streams, parse and compare a series of packed integer values.
protected  void diffPackedLong(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker)
          Within the two passed POF streams, parse and compare a packed long integer value.
protected  void diffPackedLongs(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker, int cInts)
          Within the two passed POF streams, parse and compare a series of packed long integer values.
protected  void diffSparseArray(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker)
          Within the two passed POF streams, parse and compare a sparse array.
protected  void diffTimeZone(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker)
          Within the two passed POF streams, parse and compare time zone information.
protected  void diffUniformCollection(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker)
          Within the two passed POF streams, parse and compare an array or collection of uniform types.
protected  void diffUniformKeysMap(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker)
          Within the two passed POF streams, parse and compare a Map of keys (of a uniform type) and values.
protected  void diffUniformMap(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker)
          Within the two passed POF streams, parse and compare a Map of keys and values, both of uniform types.
protected  void diffUniformSparseArray(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker)
          Within the two passed POF streams, parse and compare a sparse array of uniform types.
protected  void diffUniformValue(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker, int nType)
          Within the two passed POF streams, parse and compare a POF value of the specified type.
protected  void diffUserType(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker)
          Within the two passed POF streams, parse and compare a user type value.
protected  void diffValue(ReadBuffer.BufferInput inOld, ReadBuffer.BufferInput inNew, PofDeltaCompressor.ChangeTracker tracker)
          Within the two passed POF streams, parse and compare a POF value.

 

Methods inherited from class com.tangosol.io.BinaryDeltaCompressor
applyDelta, extractDelta

 

Methods inherited from interface com.tangosol.io.DeltaCompressor
applyDelta, extractDelta

 

Constructor Detail

PofDeltaCompressor

public PofDeltaCompressor()
Default constructor.

Method Detail

createDelta

public ReadBuffer createDelta(ReadBuffer bufOld,
                              ReadBuffer bufNew)
Actually create a delta in the binary delta format. This method is designed to be overridden by subclasses that have more intimate knowledge of the contents of the buffers.
Overrides:
createDelta in class BinaryDeltaCompressor
Parameters:
bufOld - the old value
bufNew - the new value
Returns:
a delta in the binary delta format

diffValue

protected void diffValue(ReadBuffer.BufferInput inOld,
                         ReadBuffer.BufferInput inNew,
                         PofDeltaCompressor.ChangeTracker tracker)
                  throws IOException
Within the two passed POF streams, parse and compare a POF value.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
Throws:
IOException

diffUniformValue

protected void diffUniformValue(ReadBuffer.BufferInput inOld,
                                ReadBuffer.BufferInput inNew,
                                PofDeltaCompressor.ChangeTracker tracker,
                                int nType)
                         throws IOException
Within the two passed POF streams, parse and compare a POF value of the specified type.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
nType - the type to parse
Throws:
IOException

diffUserType

protected void diffUserType(ReadBuffer.BufferInput inOld,
                            ReadBuffer.BufferInput inNew,
                            PofDeltaCompressor.ChangeTracker tracker)
                     throws IOException
Within the two passed POF streams, parse and compare a user type value.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
Throws:
IOException

diffCollection

protected void diffCollection(ReadBuffer.BufferInput inOld,
                              ReadBuffer.BufferInput inNew,
                              PofDeltaCompressor.ChangeTracker tracker)
                       throws IOException
Within the two passed POF streams, parse and compare an array or collection.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
Throws:
IOException

diffUniformCollection

protected void diffUniformCollection(ReadBuffer.BufferInput inOld,
                                     ReadBuffer.BufferInput inNew,
                                     PofDeltaCompressor.ChangeTracker tracker)
                              throws IOException
Within the two passed POF streams, parse and compare an array or collection of uniform types.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
Throws:
IOException

diffSparseArray

protected void diffSparseArray(ReadBuffer.BufferInput inOld,
                               ReadBuffer.BufferInput inNew,
                               PofDeltaCompressor.ChangeTracker tracker)
                        throws IOException
Within the two passed POF streams, parse and compare a sparse array.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
Throws:
IOException

diffUniformSparseArray

protected void diffUniformSparseArray(ReadBuffer.BufferInput inOld,
                                      ReadBuffer.BufferInput inNew,
                                      PofDeltaCompressor.ChangeTracker tracker)
                               throws IOException
Within the two passed POF streams, parse and compare a sparse array of uniform types.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
Throws:
IOException

diffMap

protected void diffMap(ReadBuffer.BufferInput inOld,
                       ReadBuffer.BufferInput inNew,
                       PofDeltaCompressor.ChangeTracker tracker)
                throws IOException
Within the two passed POF streams, parse and compare a Map of keys and values.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
Throws:
IOException

diffUniformKeysMap

protected void diffUniformKeysMap(ReadBuffer.BufferInput inOld,
                                  ReadBuffer.BufferInput inNew,
                                  PofDeltaCompressor.ChangeTracker tracker)
                           throws IOException
Within the two passed POF streams, parse and compare a Map of keys (of a uniform type) and values.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
Throws:
IOException

diffUniformMap

protected void diffUniformMap(ReadBuffer.BufferInput inOld,
                              ReadBuffer.BufferInput inNew,
                              PofDeltaCompressor.ChangeTracker tracker)
                       throws IOException
Within the two passed POF streams, parse and compare a Map of keys and values, both of uniform types.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
Throws:
IOException

diffTimeZone

protected void diffTimeZone(ReadBuffer.BufferInput inOld,
                            ReadBuffer.BufferInput inNew,
                            PofDeltaCompressor.ChangeTracker tracker)
                     throws IOException
Within the two passed POF streams, parse and compare time zone information.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
Throws:
IOException

diffPackedInts

protected void diffPackedInts(ReadBuffer.BufferInput inOld,
                              ReadBuffer.BufferInput inNew,
                              PofDeltaCompressor.ChangeTracker tracker,
                              int cInts)
                       throws IOException
Within the two passed POF streams, parse and compare a series of packed integer values.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
cInts - the number of packed integers to parse and compare
Throws:
IOException

diffPackedInt

protected void diffPackedInt(ReadBuffer.BufferInput inOld,
                             ReadBuffer.BufferInput inNew,
                             PofDeltaCompressor.ChangeTracker tracker)
                      throws IOException
Within the two passed POF streams, parse and compare a packed integer value.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
Throws:
IOException

diffPackedLongs

protected void diffPackedLongs(ReadBuffer.BufferInput inOld,
                               ReadBuffer.BufferInput inNew,
                               PofDeltaCompressor.ChangeTracker tracker,
                               int cInts)
                        throws IOException
Within the two passed POF streams, parse and compare a series of packed long integer values.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
cInts - the number of packed long integers to parse and compare
Throws:
IOException

diffPackedLong

protected void diffPackedLong(ReadBuffer.BufferInput inOld,
                              ReadBuffer.BufferInput inNew,
                              PofDeltaCompressor.ChangeTracker tracker)
                       throws IOException
Within the two passed POF streams, parse and compare a packed long integer value.
Parameters:
inOld - the BufferInput to read from
inNew - the BufferInput to read from
tracker - the ChangeTracker that computes the diff result
Throws:
IOException

Skip navigation links

Oracle® Coherence Java API Reference
Release 3.6.0.0

E15725-01


Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.