org.osjava.jardiff
Interface DiffHandler

All Known Implementing Classes:
AbstractDiffHandler, DOMDiffHandler, StreamDiffHandler

public interface DiffHandler

An interface for classes which wish to receive information about differences in class files between two different jar file version to implement.

Author:
Antony Riley

Method Summary
 void classAdded(ClassInfo classinfo)
          Notification that a class was added.
 void classChanged(ClassInfo oldClassinfo, ClassInfo newClassinfo)
          The current class has changed.
 void classRemoved(ClassInfo classinfo)
          Notification that a class was removed.
 void contains(ClassInfo info)
          Add a contained class.
 void endAdded()
          End of list of removed classes.
 void endChanged()
          End of class changes.
 void endClassChanged()
          End of changes for the current class.
 void endDiff()
          End of the diff.
 void endNewContents()
          End the list of new contents.
 void endOldContents()
          End the list of old contents.
 void endRemoved()
          End of list of removed classes.
 void fieldAdded(FieldInfo fieldinfo)
          The field was added for the current class that has changed.
 void fieldChanged(FieldInfo oldFieldinfo, FieldInfo newFieldinfo)
          A field on the current class has changed.
 void fieldRemoved(FieldInfo fieldinfo)
          The field was removed for the current class that has changed.
 void methodAdded(MethodInfo methodinfo)
          The method was added for the current class that has changed.
 void methodChanged(MethodInfo oldMethodInfo, MethodInfo newMethodInfo)
          A method on the current class has changed.
 void methodRemoved(MethodInfo methodinfo)
          The method was removed for the current class that has changed.
 void startAdded()
          Start of list of added classes.
 void startChanged()
          Start list of changed classes.
 void startClassChanged(java.lang.String string)
          Start information about class changes for the classname passed.
 void startDiff(java.lang.String a, java.lang.String b)
          Start a diff between two versions, where string a is the old version and string b is the new version.
 void startNewContents()
          Start the list of new contents.
 void startOldContents()
          Start the list of old contents.
 void startRemoved()
          Start the list of removed classes.
 

Method Detail

startDiff

void startDiff(java.lang.String a,
               java.lang.String b)
               throws DiffException
Start a diff between two versions, where string a is the old version and string b is the new version.

Parameters:
a - the name of the old version
b - the name of the new version
Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

startOldContents

void startOldContents()
                      throws DiffException
Start the list of old contents.

Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

startNewContents

void startNewContents()
                      throws DiffException
Start the list of new contents.

Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

contains

void contains(ClassInfo info)
              throws DiffException
Add a contained class.

Parameters:
info - information about a class
Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

endOldContents

void endOldContents()
                    throws DiffException
End the list of old contents.

Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

endNewContents

void endNewContents()
                    throws DiffException
End the list of new contents.

Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

startRemoved

void startRemoved()
                  throws DiffException
Start the list of removed classes.

Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

classRemoved

void classRemoved(ClassInfo classinfo)
                  throws DiffException
Notification that a class was removed.

Parameters:
classinfo - information about the class that has been removed.
Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

endRemoved

void endRemoved()
                throws DiffException
End of list of removed classes.

Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

startAdded

void startAdded()
                throws DiffException
Start of list of added classes.

Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

classAdded

void classAdded(ClassInfo classinfo)
                throws DiffException
Notification that a class was added.

Parameters:
classinfo - information about the class that has been removed.
Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

endAdded

void endAdded()
              throws DiffException
End of list of removed classes.

Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

startChanged

void startChanged()
                  throws DiffException
Start list of changed classes.

Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

startClassChanged

void startClassChanged(java.lang.String string)
                       throws DiffException
Start information about class changes for the classname passed.

Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

fieldRemoved

void fieldRemoved(FieldInfo fieldinfo)
                  throws DiffException
The field was removed for the current class that has changed.

Parameters:
fieldinfo - Information about the field removed.
Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

methodRemoved

void methodRemoved(MethodInfo methodinfo)
                   throws DiffException
The method was removed for the current class that has changed.

Parameters:
methodinfo - Information about the method removed.
Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

fieldAdded

void fieldAdded(FieldInfo fieldinfo)
                throws DiffException
The field was added for the current class that has changed.

Parameters:
fieldinfo - Information about the field added.
Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

methodAdded

void methodAdded(MethodInfo methodinfo)
                 throws DiffException
The method was added for the current class that has changed.

Parameters:
methodinfo - Information about the method added.
Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

classChanged

void classChanged(ClassInfo oldClassinfo,
                  ClassInfo newClassinfo)
                  throws DiffException
The current class has changed. This is called when a class's interfaces or superclass or access flags have changed.

Parameters:
oldClassinfo - Information about the old class.
newClassinfo - Information about the new class.
Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

fieldChanged

void fieldChanged(FieldInfo oldFieldinfo,
                  FieldInfo newFieldinfo)
                  throws DiffException
A field on the current class has changed.

Parameters:
oldFieldinfo - Information about the old field.
newFieldinfo - Information about the new field.
Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

methodChanged

void methodChanged(MethodInfo oldMethodInfo,
                   MethodInfo newMethodInfo)
                   throws DiffException
A method on the current class has changed.

Parameters:
oldMethodInfo - Information about the old method.
newMethodInfo - Information about the new method.
Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

endClassChanged

void endClassChanged()
                     throws DiffException
End of changes for the current class.

Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

endChanged

void endChanged()
                throws DiffException
End of class changes.

Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException

endDiff

void endDiff()
             throws DiffException
End of the diff.

Throws:
DiffException - when there is an underlying exception, e.g. writing to a file caused an IOException