Package net.sourceforge.squirrel_sql.fw.util

Source Code of net.sourceforge.squirrel_sql.fw.util.PropertyChangeReporter

package net.sourceforge.squirrel_sql.fw.util;
/*
* Copyright (C) 2001-2003 Colin Bell
* colbell@users.sourceforge.net
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.io.Serializable;

public class PropertyChangeReporter implements Serializable
{
    private static final long serialVersionUID = 1L;

    private boolean _notify = true;
  private Object _srcBean;
  private PropertyChangeSupport _propChgNotifier;

  public PropertyChangeReporter(Object srcBean)
    throws IllegalArgumentException
  {
    super();
    if (srcBean == null)
    {
      throw new IllegalArgumentException("Null srcBean passed");
    }
    _srcBean = srcBean;
  }

  public void setNotify(boolean value)
  {
    _notify = value;
  }

  public synchronized void addPropertyChangeListener(PropertyChangeListener listener)
  {
    getPropertyChangeNotifier().addPropertyChangeListener(listener);
  }

  public synchronized void removePropertyChangeListener(PropertyChangeListener listener)
  {
    getPropertyChangeNotifier().removePropertyChangeListener(listener);
  }

  public void firePropertyChange(
    String propName,
    Object oldValue,
    Object newValue)
  {
    if (_notify)
    {
      getPropertyChangeNotifier().firePropertyChange(
        propName,
        oldValue,
        newValue);
    }
  }

  public void firePropertyChange(
    String propName,
    boolean oldValue,
    boolean newValue)
  {
    if (_notify)
    {
      getPropertyChangeNotifier().firePropertyChange(
        propName,
        oldValue,
        newValue);
    }
  }

  public void firePropertyChange(String propName, int oldValue, int newValue)
  {
    if (_notify)
    {
      getPropertyChangeNotifier().firePropertyChange(
        propName,
        oldValue,
        newValue);
    }
  }

  private PropertyChangeSupport getPropertyChangeNotifier()
  {
    if (_propChgNotifier == null)
    {
      _propChgNotifier = new PropertyChangeSupport(_srcBean);
    }
    return _propChgNotifier;
  }
}
TOP

Related Classes of net.sourceforge.squirrel_sql.fw.util.PropertyChangeReporter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.