net.javamud.run
Interface SISCapable

All Known Implementing Classes:
ACL, Permission

public interface SISCapable

Single Instance Storage Capable.
Provides an interface that a Single Instance Storage Groveller needs to operate efficiently.

Author:
Timothy Hinchcliffe
Created On:
15 June 2002

Method Summary
 Collection getSISObjects()
          Gets the Objects that can be reviewed for SIS.
 void updateSISObject(Object original, Object replacement)
          Called by a SIS Groveller to replace an object with a different object that equals() it.
 

Method Detail

getSISObjects

public Collection getSISObjects()
Gets the Objects that can be reviewed for SIS.
The objects in question MUST support the Object.equals() method.
Additionally and of the Objects that are SISCapable will be queued for groveling.

Returns:
A Collection of Objects.

updateSISObject

public void updateSISObject(Object original,
                            Object replacement)
Called by a SIS Groveller to replace an object with a different object that equals() it.
Objects should be checked with .equals, and that they are valid against the original object to reduce problems from erroneous or hostile SISGrovellers.
If the replacement cannot be made, the method should still return cleanly. There is nothing to be gained by throwing an Exception.
NOTE: This mothod will be run for all cases where original.equals(replacement) including where original==replacement. This is to allow setting of CopyOnWrite flags, etc.

Parameters:
original - Object to replace.
replacement - Object to replace original with.