Clover coverage report -
Coverage timestamp: Thu Jul 5 2007 20:02:32 EDT
file stats: LOC: 46   Methods: 0
NCLOC: 11   Classes: 2
 
 Source file Conditionals Statements Methods TOTAL
NodeModifiedEvent.java - - - -
coverage
 1    package org.jboss.cache.notifications.event;
 2   
 3    import java.util.Map;
 4   
 5    /**
 6    * This event is passed in to any method annotated with {@link org.jboss.cache.notifications.annotation.NodeModified}
 7    *
 8    * @author <a href="mailto:manik@jboss.org">Manik Surtani</a>
 9    * @since 2.0.0
 10    */
 11    public interface NodeModifiedEvent extends NodeEvent
 12    {
 13    /**
 14    * Different cache modification types.
 15    */
 16    enum ModificationType
 17    {
 18    PUT_DATA, REMOVE_DATA, PUT_MAP
 19    }
 20   
 21    /**
 22    * @return an instance of the {@link org.jboss.cache.notifications.event.NodeModifiedEvent.ModificationType} enumeration.
 23    */
 24    ModificationType getModificationType();
 25   
 26    /**
 27    * When called with <tt>isPre() == true</tt>, this is the initial state of the {@link org.jboss.cache.Node}
 28    * before modification.
 29    * <p/>
 30    * When called with <tt>isPre() == false</tt>, this depends on the value of <tt>getModificationType()</tt>:
 31    * <ul>
 32    * <li><b>{@link ModificationType#PUT_DATA}</b>: Map contains the single key/value pair that was added or modified.</li>
 33    * <li><b>{@link ModificationType#REMOVE_DATA}</b>: Map contains the key/value pairs that were removed.</li>
 34    * <li><b>{@link ModificationType#PUT_MAP}</b>: Map contains the new state of the {@link org.jboss.cache.Node} following modification. This map includes modified key/value
 35    * pairs as well as any that were not affected.</li>
 36    * </ul>
 37    * <p/>
 38    * Implementations interested in seeing the difference in the node data in the {@link ModificationType#PUT_MAP} case
 39    * can cache the value of <tt>getData()</tt> map passed when <tt>isPre() == true</tt>, and then when the
 40    * <tt>isPre() == false</tt> callback is received, pass the cached map and the new result of <tt>getData()</tt> to
 41    * {@link org.jboss.cache.util.Util#diffNodeData(java.util.Map,java.util.Map)}
 42    *
 43    * @return Unmodifiable {@link java.util.Map}; will not be <code>null</code>. See description above.
 44    */
 45    Map getData();
 46    }