Package rs.baselib.bean
Class AbstractBean
java.lang.Object
rs.baselib.bean.AbstractBean
- All Implemented Interfaces:
IBean,IPropertyChangeProvider,IDirtyable
- Direct Known Subclasses:
Address
public abstract class AbstractBean extends java.lang.Object implements IBean
Abstract support for beans.
- Author:
- ralph
-
Field Summary
-
Constructor Summary
Constructors Constructor Description AbstractBean()Constructor. -
Method Summary
Modifier and Type Method Description voidaddPropertyChangeListener(java.beans.PropertyChangeListener listener)Add a change listener.voidaddPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)Add a change listener.voidcopyTo(java.lang.Object destination)Copies all properties to the given object.protected booleanfireIndexedPropertyChange(java.lang.String propertyName, int index, boolean oldValue, boolean newValue)Fires an indexed change event.protected booleanfireIndexedPropertyChange(java.lang.String propertyName, int index, int oldValue, int newValue)Fires an indexed change event.protected booleanfireIndexedPropertyChange(java.lang.String propertyName, int index, java.lang.Object oldValue, java.lang.Object newValue)Fires an indexed change event.protected booleanfirePropertyChange(java.beans.PropertyChangeEvent event)Fires a change event.protected booleanfirePropertyChange(java.beans.PropertyChangeEvent event, boolean makeDirty)Fires a change event.protected booleanfirePropertyChange(java.lang.String propertyName, boolean oldValue, boolean newValue)Fires an event if property changed.protected booleanfirePropertyChange(java.lang.String propertyName, boolean oldValue, boolean newValue, boolean makeDirty)Fires an event if property changed.booleanfirePropertyChange(java.lang.String propertyName, float oldValue, float newValue)Fires an event if property changed.booleanfirePropertyChange(java.lang.String propertyName, float oldValue, float newValue, boolean makeDirty)Fires an event if property changed.protected booleanfirePropertyChange(java.lang.String propertyName, int oldValue, int newValue)Fires an event if property changed.protected booleanfirePropertyChange(java.lang.String propertyName, int oldValue, int newValue, boolean makeDirty)Fires an event if property changed.protected booleanfirePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)Fires an event if property changed.protected booleanfirePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue, boolean makeDirty)Fires an event if property changed.java.lang.Objectget(java.lang.String name)Gets the property with given namejava.util.Collection<java.beans.PropertyChangeEvent>getChanges()Returns the list of changes that this bean has performed since loading.protected java.lang.ObjectgetOriginalValue(java.lang.String propertyName)Returns the original value.protected java.beans.PropertyChangeListener[]getPropertyChangeListeners()Returns all listeners.protected java.beans.PropertyChangeListener[]getPropertyChangeListeners(java.lang.String propertyName)Returns change listeners on a specific property.java.lang.Iterable<java.lang.String>getPropertyNames()Returns the property names of this bean.protected booleanhasListeners(java.lang.String propertyName)Returns true when the specified property has listeners attached.protected booleanisCopyAllowed(java.beans.PropertyDescriptor descriptor)Returns true whencopyTo(Object)is allowed to copy the given property.protected booleanisCopyAllowed(java.lang.String name)Returns true whencopyTo(Object)is allowed to copy the given property.booleanisDirty()Returns whether this object has changed.protected voidregisterChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)Register the property change.voidremovePropertyChangeListener(java.beans.PropertyChangeListener listener)Remove a change listener.voidremovePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)Remove a change listener.voidreset()Reset all changes.voidset(java.lang.String name, java.lang.Object value)Set the property with given name to the valueprotected voidsetDirty(boolean dirty)Sets the dirty flag.java.lang.StringtoString()
-
Constructor Details
-
AbstractBean
public AbstractBean()Constructor.
-
-
Method Details
-
isDirty
public boolean isDirty()Returns whether this object has changed.- Specified by:
isDirtyin interfaceIDirtyable- Returns:
- true or false
-
setDirty
protected void setDirty(boolean dirty)Sets the dirty flag.- Parameters:
dirty-truewhen bean shall be marked dirty. If the bean is marked as not dirty then all registered changes will be removed.
-
addPropertyChangeListener
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)Add a change listener.- Specified by:
addPropertyChangeListenerin interfaceIPropertyChangeProvider- Parameters:
listener- the listener to be added
-
removePropertyChangeListener
public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)Remove a change listener.- Specified by:
removePropertyChangeListenerin interfaceIPropertyChangeProvider- Parameters:
listener- the listener to be removed
-
addPropertyChangeListener
public void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)Add a change listener.- Specified by:
addPropertyChangeListenerin interfaceIPropertyChangeProvider- Parameters:
propertyName- the property name the listener will be registered forlistener- the listener to be added
-
removePropertyChangeListener
public void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)Remove a change listener.- Specified by:
removePropertyChangeListenerin interfaceIPropertyChangeProvider- Parameters:
propertyName- the property name the listener will not listen for anymorelistener- the listener to be removed
-
getPropertyChangeListeners
protected java.beans.PropertyChangeListener[] getPropertyChangeListeners()Returns all listeners.- Returns:
- all listeners
- See Also:
PropertyChangeSupport.getPropertyChangeListeners()
-
getPropertyChangeListeners
protected java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String propertyName)Returns change listeners on a specific property.- Parameters:
propertyName- name of property- Returns:
- the listeners for this property
- See Also:
PropertyChangeSupport.getPropertyChangeListeners(java.lang.String)
-
firePropertyChange
protected boolean firePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)Fires an event if property changed.- Parameters:
propertyName- name of propertyoldValue- old valuenewValue- new value- Returns:
truewhen the event was fired (because values were not equal)
-
firePropertyChange
protected boolean firePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue, boolean makeDirty)Fires an event if property changed.- Parameters:
propertyName- name of propertyoldValue- old valuenewValue- new valuemakeDirty- whether to make this object dirty (register the change)- Returns:
truewhen the event was fired (because values were not equal)
-
firePropertyChange
protected boolean firePropertyChange(java.lang.String propertyName, int oldValue, int newValue)Fires an event if property changed.- Parameters:
propertyName- name of propertyoldValue- old valuenewValue- new value- Returns:
truewhen the event was fired (because values were not equal)
-
firePropertyChange
protected boolean firePropertyChange(java.lang.String propertyName, int oldValue, int newValue, boolean makeDirty)Fires an event if property changed.- Parameters:
propertyName- name of propertyoldValue- old valuenewValue- new valuemakeDirty-truewhen the object shall be marked dirty- Returns:
truewhen the event was fired (because values were not equal)
-
firePropertyChange
protected boolean firePropertyChange(java.lang.String propertyName, boolean oldValue, boolean newValue)Fires an event if property changed.- Parameters:
propertyName- name of propertyoldValue- old valuenewValue- new value- Returns:
truewhen the event was fired (because values were not equal)
-
firePropertyChange
protected boolean firePropertyChange(java.lang.String propertyName, boolean oldValue, boolean newValue, boolean makeDirty)Fires an event if property changed.- Parameters:
propertyName- name of propertyoldValue- old valuenewValue- new valuemakeDirty-truewhen the object shall be marked dirty- Returns:
truewhen the event was fired (because values were not equal)
-
firePropertyChange
public boolean firePropertyChange(java.lang.String propertyName, float oldValue, float newValue)Fires an event if property changed.- Parameters:
propertyName- name of propertyoldValue- old valuenewValue- new value- Returns:
truewhen the event was fired (because values were not equal)
-
firePropertyChange
public boolean firePropertyChange(java.lang.String propertyName, float oldValue, float newValue, boolean makeDirty)Fires an event if property changed.- Parameters:
propertyName- name of propertyoldValue- old valuenewValue- new valuemakeDirty-truewhen the object shall be marked dirty- Returns:
truewhen the event was fired (because values were not equal)
-
firePropertyChange
protected boolean firePropertyChange(java.beans.PropertyChangeEvent event)Fires a change event.- Parameters:
event- event to be fired- Returns:
truewhen the event was fired (because values were not equal)
-
firePropertyChange
protected boolean firePropertyChange(java.beans.PropertyChangeEvent event, boolean makeDirty)Fires a change event.- Parameters:
event- event to be firedmakeDirty-truewhen the object shall be marked dirty- Returns:
truewhen the event was fired (because values were not equal)
-
fireIndexedPropertyChange
protected boolean fireIndexedPropertyChange(java.lang.String propertyName, int index, java.lang.Object oldValue, java.lang.Object newValue)Fires an indexed change event.- Parameters:
propertyName- name of propertyindex- index of propertyoldValue- old valuenewValue- new value- Returns:
truewhen the event was fired (because values were not equal)
-
fireIndexedPropertyChange
protected boolean fireIndexedPropertyChange(java.lang.String propertyName, int index, int oldValue, int newValue)Fires an indexed change event.- Parameters:
propertyName- name of propertyindex- index of propertyoldValue- old valuenewValue- new value- Returns:
truewhen the event was fired (because values were not equal)
-
fireIndexedPropertyChange
protected boolean fireIndexedPropertyChange(java.lang.String propertyName, int index, boolean oldValue, boolean newValue)Fires an indexed change event.- Parameters:
propertyName- name of propertyindex- index of propertyoldValue- old valuenewValue- new value- Returns:
truewhen the event was fired (because values were not equal)
-
hasListeners
protected boolean hasListeners(java.lang.String propertyName)Returns true when the specified property has listeners attached.- Parameters:
propertyName- name of property- Returns:
- true when there are listeners on that property
- See Also:
PropertyChangeSupport.hasListeners(java.lang.String)
-
registerChange
protected void registerChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)Register the property change.- Parameters:
propertyName- name of propertyoldValue- old valuenewValue- new value
-
getOriginalValue
protected java.lang.Object getOriginalValue(java.lang.String propertyName)Returns the original value. The original value is the value of a property that existed at the time whenisDirty()returned false. The value will be compared to the value currently held by this object in order to detect any changes.- Parameters:
propertyName- name of property- Returns:
- persistent value
-
set
public void set(java.lang.String name, java.lang.Object value)Set the property with given name to the value -
get
public java.lang.Object get(java.lang.String name)Gets the property with given name -
getChanges
public java.util.Collection<java.beans.PropertyChangeEvent> getChanges()Returns the list of changes that this bean has performed since loading.- Specified by:
getChangesin interfaceIBean- Returns:
- the list of changes so far
-
copyTo
public void copyTo(java.lang.Object destination)Copies all properties to the given object.The method will ask
isCopyAllowed(PropertyDescriptor)for each property of this bean. -
getPropertyNames
public java.lang.Iterable<java.lang.String> getPropertyNames()Returns the property names of this bean.- Specified by:
getPropertyNamesin interfaceIBean- Returns:
- the property names
-
isCopyAllowed
protected boolean isCopyAllowed(java.beans.PropertyDescriptor descriptor)Returns true whencopyTo(Object)is allowed to copy the given property.This method relies on the
NoCopyandTransientannotations on read methods.- Parameters:
descriptor- the descriptor of th eproperty to be checked- Returns:
truewhen copy is allowed- See Also:
BeanSupport.isCopyForbidden(Class, String)
-
isCopyAllowed
protected boolean isCopyAllowed(java.lang.String name)Returns true whencopyTo(Object)is allowed to copy the given property.This method relies on the
NoCopyandTransientannotations on read methods.- Parameters:
name- - the name of the property to be checked- Returns:
truewhen copy is allowed- See Also:
BeanSupport.isCopyForbidden(Class, String)
-
reset
public void reset()Reset all changes. -
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-