1 15 package org.apache.tapestry.record; 16 17 import org.apache.hivemind.util.Defense; 18 import org.apache.hivemind.util.ToStringBuilder; 19 20 25 26 public class PropertyChangeImpl implements PropertyChange 27 { 28 private String _componentPath; 29 30 private String _propertyName; 31 32 private Object _newValue; 33 34 public PropertyChangeImpl(String componentPath, String propertyName, Object newValue) 35 { 36 Defense.notNull(propertyName, "propertyName"); 37 38 41 _componentPath = componentPath; 42 _propertyName = propertyName; 43 _newValue = newValue; 44 } 45 46 49 50 public String getComponentPath() 51 { 52 return _componentPath; 53 } 54 55 58 59 public Object getNewValue() 60 { 61 return _newValue; 62 } 63 64 67 68 public String getPropertyName() 69 { 70 return _propertyName; 71 } 72 73 public String toString() 74 { 75 ToStringBuilder builder = new ToStringBuilder(this); 76 77 builder.append("componentPath", _componentPath); 78 builder.append("propertyName", _propertyName); 79 builder.append("newValue", _newValue); 80 81 return builder.toString(); 82 } 83 84 public boolean equals(Object object) 85 { 86 if (this == object) 87 return true; 88 89 if (object == null || object.getClass() != this.getClass()) 90 return false; 91 92 PropertyChangeImpl other = (PropertyChangeImpl) object; 93 94 return same(_componentPath, other._componentPath) 95 && same(_propertyName, other._propertyName) && same(_newValue, other._newValue); 96 } 97 98 private boolean same(Object o1, Object o2) 99 { 100 return o1 == o2 || (o1 != null && o1.equals(o2)); 101 } 102 } | Popular Tags |