content: /**
   * @(#)AbstractScrollManager.java
   *
   * Copyright 2002 EGANTT LLP. All rights reserved.
   * PROPRIETARY/QPL. Use is subject to license terms.
   */
  package com.egantt.swing.scroll.manager;
  
  import com.egantt.swing.scroll.ScrollManager;
  
  import java.util.ArrayList;
  import java.util.Iterator;
  import java.util.List;
  
  import javax.swing.event.ChangeEvent;
  import javax.swing.event.ChangeListener;
  
  /**
   * Overrides the ScrollModel interface in order to hide non applicable methods
   * the sun interface.
   */
  public abstract class AbstractScrollManager implements ScrollManager
  {
  	protected final List <ChangeListener> listeners = new ArrayList <ChangeListener>(0);
  
  	protected transient boolean isAdjusting;
  
  	// _________________________________________________________________________
  
  	public boolean getValueIsAdjusting()
  	{
  		return isAdjusting;
  	}
  
  	// _________________________________________________________________________
  
  	public final void setValueIsAdjusting(boolean isAdjusting)
  	{
  		this.isAdjusting = isAdjusting;
  	}
  
  	// _________________________________________________________________________
  
  	public void addChangeListener(ChangeListener listener)
  	{
  		listeners.add(listener);
  	}
  
  	public void removeChangeListener(ChangeListener listener)
  	{
  		listeners.remove(listener);
  	}
  
  	// _________________________________________________________________________
  
  	/**
  	 * Dummy method not applicable
  	 */
  	public final void setExtent(int n)
  	{
  	}
  
  	/**
  	 * Dummy method not applicable
  	 */
  	public final void setMinimum(int n)
  	{
  	}
  
  	/**
  	 * Dummy method not applicable
  	 */
  	public final void setMaximum(int n)
  	{
  	}
  
  	/**
  	 * Dummy method not applicable
  	 */
  	public final void setRangeProperties(int newValue, int newExtent, int newMin, int newMax, boolean adjusting)
  	{
  	}
  
  	// _________________________________________________________________________
  
  	/**
  	 * Fire notification of state changes
  	 */
  	protected void fireChanged(ChangeEvent changeEvent)
  	{
  		for (Iterator iter = listeners.iterator(); iter.hasNext();)
  				((ChangeListener) iter.next()).stateChanged(changeEvent);
  	}
  }
  