package com.tinkerpop.blueprints.util.wrappers.event.listener;
import com.tinkerpop.blueprints.Vertex;
import java.util.Iterator;
/**
* Base class for property changed events.
*
* @author Stephen Mallette
*/
public abstract class VertexPropertyEvent implements Event {
private final Vertex vertex;
private final String key;
private final Object oldValue;
private final Object newValue;
public VertexPropertyEvent(final Vertex vertex, final String key, final Object oldValue, final Object newValue) {
this.vertex = vertex;
this.key = key;
this.oldValue = oldValue;
this.newValue = newValue;
}
abstract void fire(final GraphChangedListener listener, final Vertex vertex, final String key, final Object oldValue, final Object newValue);
@Override
public void fireEvent(final Iterator<GraphChangedListener> eventListeners) {
while (eventListeners.hasNext()) {
fire(eventListeners.next(), vertex, key, oldValue, newValue);
}
}
}