/**
* @(#)AbstractColorSlidersModel.java
*
* Copyright (c) 2008 The authors and contributors of JHotDraw.
* You may not use, copy or modify this file, except in compliance with the
* accompanying license terms.
*/
package org.jhotdraw.color;
import java.util.*;
import javax.swing.event.*;
import org.jhotdraw.beans.*;
/**
* AbstractColorSlidersModel.
*
* @author Werner Randelshofer
* @version $Id$
*/
public abstract class AbstractColorSlidersModel extends AbstractBean implements ColorSliderModel {
private static final long serialVersionUID = 1L;
/**
* ChangeListener's listening to changes in this model.
*/
protected LinkedList<ChangeListener> listeners;
@Override
public void addChangeListener(ChangeListener l) {
if (listeners == null) {
listeners = new LinkedList<ChangeListener>();
}
listeners.add(l);
}
@Override
public void removeChangeListener(ChangeListener l) {
listeners.remove(l);
}
public void fireStateChanged() {
if (listeners != null) {
ChangeEvent event = new ChangeEvent(this);
for (ChangeListener l : listeners) {
l.stateChanged(event);
}
}
}
}