package com.tinkerpop.blueprints.util.wrappers.event.listener;
import com.tinkerpop.blueprints.Edge;
import java.util.Iterator;
public abstract class EdgePropertyEvent implements Event {
private final Edge edge;
private final String key;
private final Object oldValue;
private final Object newValue;
public EdgePropertyEvent(final Edge edge, final String key, final Object oldValue, final Object newValue) {
this.edge = edge;
this.key = key;
this.oldValue = oldValue;
this.newValue = newValue;
}
abstract void fire(final GraphChangedListener listener, final Edge edge, final String key, final Object oldValue, final Object newValue);
@Override
public void fireEvent(final Iterator<GraphChangedListener> eventListeners) {
while (eventListeners.hasNext()) {
fire(eventListeners.next(), edge, key, oldValue, newValue);
}
}
}