uka.patch
Interface PatchDescriptor


public interface PatchDescriptor

Classes that implement the PatchDescriptor interface describe how to create patches from objects and apply patches to objects that do not implement the Patchable interface. Using this mechanism, also classes that belong to the core Java API can be upgraded to patchable classes.


Method Summary
 void doApplyPatch(java.lang.Object orig, java.lang.Object copy, PatchInput s)
          Called by PatchAdapter.applyPatch(PatchReader).
 java.lang.Object doClone(java.lang.Object orig)
           
 void doCreatePatch(java.lang.Object orig, java.lang.Object copy, PatchOutput s)
          Called by PatchAdapter.createPatch(MarshalStream).
 void doDescendReferences(java.lang.Object orig, ReferenceConsumer c)
           
 void doFilterReferences(java.lang.Object orig, ReferenceFilter c)
           
 

Method Detail

doCreatePatch

public void doCreatePatch(java.lang.Object orig,
                          java.lang.Object copy,
                          PatchOutput s)
                   throws java.io.IOException
Called by PatchAdapter.createPatch(MarshalStream).

Throws:
java.io.IOException
See Also:
Patchable.createPatch(java.lang.Object, uka.patch.PatchOutput)

doDescendReferences

public void doDescendReferences(java.lang.Object orig,
                                ReferenceConsumer c)
                         throws java.io.IOException
Throws:
java.io.IOException
See Also:
ReferenceProducer.descendReferences(uka.patch.ReferenceConsumer)

doFilterReferences

public void doFilterReferences(java.lang.Object orig,
                               ReferenceFilter c)

doApplyPatch

public void doApplyPatch(java.lang.Object orig,
                         java.lang.Object copy,
                         PatchInput s)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Called by PatchAdapter.applyPatch(PatchReader).

Throws:
java.io.IOException
java.lang.ClassNotFoundException
See Also:
Patchable.applyPatch(java.lang.Object, uka.patch.PatchInput)

doClone

public java.lang.Object doClone(java.lang.Object orig)