package org.jzy3d.chart.controllers;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import org.jzy3d.chart.Chart;
import org.jzy3d.events.ControllerEvent;
import org.jzy3d.events.ControllerEventListener;
public class AbstractController {
public AbstractController() {
}
public AbstractController(Chart chart) {
register(chart);
}
public void register(Chart chart){
if(targets==null)
targets = new ArrayList(1);
targets.add(chart);
}
public void unregister(Chart chart){
if(targets!=null){
targets.remove(chart);
}
}
protected Chart chart(){
return targets.get(0);
}
public void dispose(){
targets.clear();
controllerListeners.clear();
}
public void addControllerEventListener(ControllerEventListener listener){
controllerListeners.add(listener);
}
public void removeControllerEventListener(ControllerEventListener listener){
controllerListeners.remove(listener);
}
protected void fireControllerEvent(ControllerType type, Object value){
ControllerEvent e = new ControllerEvent(this, type, value);
for(ControllerEventListener listener: controllerListeners)
listener.controllerEventFired(e);
}
protected List targets;
protected Vector controllerListeners = new Vector(1);
}
Ads help maintain this website.