package co.codewizards.cloudstore.test.model;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
public class ExampleServiceImpl implements ExampleService {
private final PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
private String stringValue;
private long longValue;
@Override
public String getStringValue() {
return stringValue;
}
@Override
public void setStringValue(String stringValue) {
String old = this.stringValue;
this.stringValue = stringValue;
firePropertyChange(PropertyEnum.stringValue, old, stringValue);
}
@Override
public long getLongValue() {
return longValue;
}
@Override
public void setLongValue(long longValue) {
long old = this.longValue;
this.longValue = longValue;
firePropertyChange(PropertyEnum.longValue, old, longValue);
}
@Override
public void addPropertyChangeListener(PropertyChangeListener listener) {
propertyChangeSupport.addPropertyChangeListener(listener);
}
@Override
public void removePropertyChangeListener(PropertyChangeListener listener) {
propertyChangeSupport.removePropertyChangeListener(listener);
}
@Override
public void addPropertyChangeListener(Property property, PropertyChangeListener listener) {
propertyChangeSupport.addPropertyChangeListener(property.name(), listener);
}
@Override
public void removePropertyChangeListener(Property property, PropertyChangeListener listener) {
propertyChangeSupport.removePropertyChangeListener(property.name(), listener);
}
protected void firePropertyChange(Property property, Object oldValue, Object newValue) {
propertyChangeSupport.firePropertyChange(property.name(), oldValue, newValue);
}
}