1 15 package org.apache.tapestry.record; 16 17 import org.apache.hivemind.util.Defense; 18 19 24 25 public class ChangeKey 26 { 27 private int _hashCode = -1; 28 29 private String _componentPath; 30 31 private String _propertyName; 32 33 public ChangeKey(String componentPath, String propertyName) 34 { 35 Defense.notNull(propertyName, "propertyName"); 36 37 _componentPath = componentPath; 38 _propertyName = propertyName; 39 } 40 41 public boolean equals(Object object) 42 { 43 if (object == null) 44 return false; 45 46 if (this == object) 47 return true; 48 49 if (!(object instanceof ChangeKey)) 50 return false; 51 52 ChangeKey other = (ChangeKey) object; 53 54 return same(_propertyName, other._propertyName) 55 && same(_componentPath, other._componentPath); 56 } 57 58 private boolean same(String s1, String s2) 59 { 60 return s1 == s2 || (s1 != null && s1.equals(s2)); 61 } 62 63 public String getComponentPath() 64 { 65 return _componentPath; 66 } 67 68 public String getPropertyName() 69 { 70 return _propertyName; 71 } 72 73 76 77 public int hashCode() 78 { 79 if (_hashCode == -1) 80 { 81 _hashCode = 31 * 27 + _propertyName.hashCode(); 82 83 if (_componentPath != null) 84 _hashCode = 31 * _hashCode + _componentPath.hashCode(); 85 } 86 87 return _hashCode; 88 } 89 } | Popular Tags |