Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Have a look to <a href="http://docs.oracle.com/javase/tutorial/uiswing/events/propertychangelistener.html" rel="nofollow">http://docs.oracle.com/javase/tutorial/uiswing/events/propertychangelistener.html</a></p> <pre><code>public class Test { PropertyChangeSupport pcs = new PropertyChangeSupport(this); private String name; private int age; public String getName() { return name; } public void setName(String name) { String oldName = this.name; this.name = name; pcs.firePropertyChange("name", oldName, name); } public int getAge() { return age; } public void setAge(int age) { int oldAge = this.age; this.age = age; pcs.firePropertyChange("age", oldAge, age); } public void addPropertyChangeListener(PropertyChangeListener listener) { pcs.addPropertyChangeListener(listener); } public void removePropertyChangeListener(PropertyChangeListener listener) { pcs.removePropertyChangeListener(listener); } public Test(){ } public static void main (String[] args){ Test myTestObject = new Test(); myTestObject.addPropertyChangeListener(new MyPropertyChangeListener()); myTestObject.setAge(12); myTestObject.setName("Rick"); myTestObject.setName("Andrew"); } private static class MyPropertyChangeListener implements PropertyChangeListener { @Override public void propertyChange(PropertyChangeEvent event) { String clazz = event.getSource().getClass().getName(); System.out.println(clazz+"::"+event.getPropertyName()+" changed from "+event.getOldValue()+" to "+event.getNewValue()); } } } </code></pre> <p>This is a simple example but using this approach you can create different PropertyChangeListeners and provide different logic inside theirs method propertyChange. Also is possible to fire only the changes over a small set of attributes and not over all of them (not storing the oldValue and not firing the firePropertyChange method of PropertyChangeSupport).</p> <p>Of course that you can use AOP, but perhaps you are looking for a solution like presented above. I hope this helps. </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload