View Javadoc

1   /*
2    *  soapUI, copyright (C) 2004-2008 eviware.com 
3    *
4    *  soapUI is free software; you can redistribute it and/or modify it under the 
5    *  terms of version 2.1 of the GNU Lesser General Public License as published by 
6    *  the Free Software Foundation.
7    *
8    *  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 
9    *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
10   *  See the GNU Lesser General Public License for more details at gnu.org.
11   */
12  
13  package com.eviware.soapui.model.support;
14  
15  import com.eviware.soapui.model.ModelItem;
16  
17  import java.beans.PropertyChangeListener;
18  import java.beans.PropertyChangeSupport;
19  import java.util.Collections;
20  import java.util.List;
21  
22  /***
23   * Base-class for ModelItem implementations
24   * 
25   * @author Ole.Matzura
26   */
27  
28  public abstract class AbstractModelItem implements ModelItem
29  {
30     private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport( this );
31  
32     public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
33     {
34        propertyChangeSupport.addPropertyChangeListener( propertyName, listener );
35     }
36  
37     public void addPropertyChangeListener(PropertyChangeListener listener)
38     {
39        propertyChangeSupport.addPropertyChangeListener( listener );
40     }
41  
42     public void removePropertyChangeListener(PropertyChangeListener listener)
43     {
44        propertyChangeSupport.removePropertyChangeListener( listener );
45     }
46     
47     public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
48  	{
49     	propertyChangeSupport.removePropertyChangeListener( propertyName, listener );
50  	}
51  
52  	public void notifyPropertyChanged( String name, Object oldValue, Object newValue )
53     {
54        propertyChangeSupport.firePropertyChange( name, oldValue, newValue );
55     }
56  
57     public void notifyPropertyChanged( String name, int oldValue, int newValue )
58     {
59        propertyChangeSupport.firePropertyChange( name, oldValue, newValue );
60     }
61  
62     public void notifyPropertyChanged( String name, boolean oldValue, boolean newValue )
63     {
64        propertyChangeSupport.firePropertyChange( name, oldValue, newValue );
65     }
66     
67  	public void fireIndexedPropertyChange( String propertyName, int index, boolean oldValue, boolean newValue )
68  	{
69  		propertyChangeSupport.fireIndexedPropertyChange( propertyName, index, oldValue, newValue );
70  	}
71  
72  	public void fireIndexedPropertyChange( String propertyName, int index, int oldValue, int newValue )
73  	{
74  		propertyChangeSupport.fireIndexedPropertyChange( propertyName, index, oldValue, newValue );
75  	}
76  
77  	public void fireIndexedPropertyChange( String propertyName, int index, Object oldValue, Object newValue )
78  	{
79  		propertyChangeSupport.fireIndexedPropertyChange( propertyName, index, oldValue, newValue );
80  	}
81  
82     @SuppressWarnings("unchecked")
83     public List<? extends ModelItem> getChildren()
84     {
85        return Collections.EMPTY_LIST;
86     }
87  
88  }