/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package org.dlect.events.collections;
import org.dlect.events.Event;
import org.dlect.events.EventAdapter;
import org.dlect.events.EventID;
import org.dlect.events.EventListener;
/**
*
* @author lee
*/
class NoOpCollectionEventHelper<T> extends CollectionEventHelper<T> {
public NoOpCollectionEventHelper() {
super(new Object(), NoOpEventID.ID, new NoOpAdapter());
}
@Override
public void fireAdd(T addedElement) {
}
@Override
public void fireRemove(T removedElement) {
}
@Override
public void fireReplace(T original, T replacement) {
}
private static class NoOpAdapter implements EventAdapter {
public NoOpAdapter() {
}
@Override
public boolean addListener(EventListener l, Class<?>... listeningClasses) {
return false;
}
@Override
public void fireEvent(Event e) {
}
@Override
public EventAdapter getParentAdapter() {
return null;
}
@Override
public void setParentAdapter(EventAdapter e) {
}
@Override
public boolean removeListener(EventListener l) {
return false;
}
}
private static enum NoOpEventID implements EventID {
ID;
@Override
public Class<?> getAppliedClass() {
return Object.class;
}
@Override
public String getName() {
return name();
}
}
}