package person.app;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
import java.text.MessageFormat;
public class Person {
private String firstName;
private String lastName;
private String emailAddress;
//databinding support
private PropertyChangeSupport support = new PropertyChangeSupport(this);
public void addPropertyChangeListener(PropertyChangeListener listener) {
support.addPropertyChangeListener(listener);
}
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener) {
support.addPropertyChangeListener(propertyName, listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
support.removePropertyChangeListener(listener);
}
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener) {
support.removePropertyChangeListener(propertyName, listener);
}
/**
* @return the firstName
*/
public String getFirstName() {
return firstName;
}
/**
* @param firstName
* the firstName to set
*/
public void setFirstName(String firstName) {
Object oldValue = this.firstName;
this.firstName = firstName;
support.firePropertyChange("firstName", oldValue, this.firstName);
}
/**
* @return the lastName
*/
public String getLastName() {
return lastName;
}
/**
* @param lastName
* the lastName to set
*/
public void setLastName(String lastName) {
Object oldValue = this.lastName;
this.lastName = lastName;
support.firePropertyChange("lastName", oldValue, this.lastName);
}
/**
* @return the emailAddress
*/
public String getEmailAddress() {
return emailAddress;
}
/**
* @param emailAddress
* the emailAddress to set
*/
public void setEmailAddress(String emailAddress) {
Object oldValue = this.emailAddress;
this.emailAddress = emailAddress;
support.firePropertyChange("emailAddress", oldValue, this.emailAddress);
}
@Override
public String toString() {
return MessageFormat.format("{0} {1} : {2}", getFirstName(), getLastName(), getEmailAddress());
}
}