uka.patch
Class AbstractPatchWriter

java.lang.Object
  extended byuka.patch.AbstractPatchWriter
All Implemented Interfaces:
Constants
Direct Known Subclasses:
MultiplexPatchWriter, NullPatchWriter, PatchWriter

public abstract class AbstractPatchWriter
extends java.lang.Object
implements Constants

Defines encoding methods for object patches and provides methods for structuring a patch into several patch records. The encoding methods can be implemented by a subclass to define a concrete patch protocol. This class provided basic means to run-length encode unmodified parts of an object.


Field Summary
(package private)  int currentID
           
(package private)  boolean modified
           
(package private)  int unmodifiedCnt
           
 
Fields inherited from interface uka.patch.Constants
CODE_BOOLEAN, CODE_DOUBLE, CODE_END_OF_PATCH, CODE_FLOAT, CODE_INT16, CODE_INT32, CODE_INT64, CODE_INT8, CODE_NOT_MODIFIED, CODE_NULL, CODE_PATCH_HEADER, CODE_REFERENCE, MAX_DISTRIBUTION_RECORDS
 
Constructor Summary
AbstractPatchWriter()
           
 
Method Summary
abstract  void beginPatch()
           
 void beginPatchRecord(int id)
           
abstract  void clear()
           
protected abstract  void encode(boolean value)
           
protected abstract  void encode(byte value)
           
protected abstract  void encode(char value)
           
protected abstract  void encode(double value)
           
protected abstract  void encode(float value)
           
protected abstract  void encode(int value)
           
protected abstract  void encode(long value)
           
protected abstract  void encode(short value)
           
protected abstract  void encodeBeginPatch()
           
protected abstract  void encodeEndPatch()
           
protected abstract  void encodeNull()
           
protected abstract  void encodePatchHeader(int id)
           
protected abstract  java.lang.Object encodeReference(java.lang.Object ref)
           
protected abstract  void encodeUnmodifiedCnt(int cnt)
           
abstract  void endPatch()
           
 void endPatchRecord()
           
protected  void flushUnmodified()
           
abstract  MarshalStream getOutput(int rank)
           
abstract  void init(java.lang.Object root)
           
abstract  void rawWriteInt(int value)
           
private  void setModified()
           
 void write(boolean value)
           
 void write(byte value)
           
 void write(char value)
           
 void write(double value)
           
 void write(float value)
           
 void write(int value)
           
 void write(long value)
           
 void write(short value)
           
 void writeNotModified()
           
 void writeNull()
           
protected  java.lang.Object writeReference(java.lang.Object ref)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

modified

boolean modified

unmodifiedCnt

int unmodifiedCnt

currentID

int currentID
Constructor Detail

AbstractPatchWriter

public AbstractPatchWriter()
Method Detail

beginPatch

public abstract void beginPatch()
                         throws java.io.IOException
Throws:
java.io.IOException

endPatch

public abstract void endPatch()
                       throws java.io.IOException
Throws:
java.io.IOException

init

public abstract void init(java.lang.Object root)
                   throws java.io.IOException
Throws:
java.io.IOException

clear

public abstract void clear()
                    throws java.io.IOException
Throws:
java.io.IOException

beginPatchRecord

public void beginPatchRecord(int id)
                      throws java.io.IOException
Throws:
java.io.IOException

endPatchRecord

public void endPatchRecord()
                    throws java.io.IOException
Throws:
java.io.IOException

setModified

private void setModified()
                  throws java.io.IOException
Throws:
java.io.IOException

flushUnmodified

protected void flushUnmodified()
                        throws java.io.IOException
Throws:
java.io.IOException

writeNotModified

public void writeNotModified()
                      throws java.io.IOException
Throws:
java.io.IOException

writeReference

protected java.lang.Object writeReference(java.lang.Object ref)
                                   throws java.io.IOException
Throws:
java.io.IOException

writeNull

public void writeNull()
               throws java.io.IOException
Throws:
java.io.IOException

write

public void write(boolean value)
           throws java.io.IOException
Throws:
java.io.IOException

write

public void write(byte value)
           throws java.io.IOException
Throws:
java.io.IOException

write

public void write(char value)
           throws java.io.IOException
Throws:
java.io.IOException

write

public void write(short value)
           throws java.io.IOException
Throws:
java.io.IOException

write

public void write(int value)
           throws java.io.IOException
Throws:
java.io.IOException

write

public void write(float value)
           throws java.io.IOException
Throws:
java.io.IOException

write

public void write(long value)
           throws java.io.IOException
Throws:
java.io.IOException

write

public void write(double value)
           throws java.io.IOException
Throws:
java.io.IOException

rawWriteInt

public abstract void rawWriteInt(int value)
                          throws java.io.IOException
Throws:
java.io.IOException

getOutput

public abstract MarshalStream getOutput(int rank)
                                 throws java.io.IOException
Throws:
java.io.IOException

encodeBeginPatch

protected abstract void encodeBeginPatch()
                                  throws java.io.IOException
Throws:
java.io.IOException

encodeEndPatch

protected abstract void encodeEndPatch()
                                throws java.io.IOException
Throws:
java.io.IOException

encodePatchHeader

protected abstract void encodePatchHeader(int id)
                                   throws java.io.IOException
Throws:
java.io.IOException

encodeUnmodifiedCnt

protected abstract void encodeUnmodifiedCnt(int cnt)
                                     throws java.io.IOException
Throws:
java.io.IOException

encodeNull

protected abstract void encodeNull()
                            throws java.io.IOException
Throws:
java.io.IOException

encodeReference

protected abstract java.lang.Object encodeReference(java.lang.Object ref)
                                             throws java.io.IOException
Throws:
java.io.IOException

encode

protected abstract void encode(boolean value)
                        throws java.io.IOException
Throws:
java.io.IOException

encode

protected abstract void encode(byte value)
                        throws java.io.IOException
Throws:
java.io.IOException

encode

protected abstract void encode(char value)
                        throws java.io.IOException
Throws:
java.io.IOException

encode

protected abstract void encode(short value)
                        throws java.io.IOException
Throws:
java.io.IOException

encode

protected abstract void encode(int value)
                        throws java.io.IOException
Throws:
java.io.IOException

encode

protected abstract void encode(float value)
                        throws java.io.IOException
Throws:
java.io.IOException

encode

protected abstract void encode(long value)
                        throws java.io.IOException
Throws:
java.io.IOException

encode

protected abstract void encode(double value)
                        throws java.io.IOException
Throws:
java.io.IOException