1 9 package org.jboss.portal.test.core.tree; 10 11 import org.jboss.portal.common.FQN; 12 13 import java.util.Arrays ; 14 15 21 public class Change 22 { 23 24 public static Change createPropertyAdded(FQN nodeID, String name) 25 { 26 return new Change(new Object []{"PropertyAdded",nodeID,name}); 27 } 28 29 public static Change createPropertyChanged(FQN nodeID, String name) 30 { 31 return new Change(new Object []{"PropertyChanged",nodeID,name}); 32 } 33 34 public static Change createPropertyRemoved(FQN nodeID, String name) 35 { 36 return new Change(new Object []{"PropertyRemoved",nodeID,name}); 37 } 38 39 public static Change createChildAdded(FQN parentID, String name) 40 { 41 return new Change(new Object []{"ChildAdded",parentID,name}); 42 } 43 44 public static Change createChildRemoved(FQN parentID, String name) 45 { 46 return new Change(new Object []{"ChildRemoved",parentID,name}); 47 } 48 49 private final Object [] content; 50 51 private Change(Object [] content) 52 { 53 this.content = content; 54 } 55 56 public int hashCode() 57 { 58 int hashCode = 0; 59 for (int i = 0; i < content.length; i++) 60 { 61 Object o = content[i]; 62 hashCode += hashCode * 43 + (o != null ? o.hashCode() : 1); 63 } 64 return hashCode; 65 } 66 67 public boolean equals(Object obj) 68 { 69 if (obj == this) 70 { 71 return true; 72 } 73 if (obj instanceof Change) 74 { 75 Change other = (Change)obj; 76 return Arrays.equals(content, other.content); 77 } 78 return false; 79 } 80 81 public String toString() 82 { 83 StringBuffer buffer = new StringBuffer ('['); 84 for (int i = 0; i < content.length; i++) 85 { 86 Object o = content[i]; 87 buffer.append(i == 0 ? "" : ",").append(String.valueOf(o)); 88 } 89 return buffer.toString(); 90 } 91 } 92 | Popular Tags |