View Javadoc

1   package org.sourceforge.jemm.database;
2   
3   import java.io.Serializable;
4   import java.util.Map;
5   
6   import org.sourceforge.jemm.types.ID;
7   
8   public class ObjectState implements Serializable {
9   	
10  	private static final long serialVersionUID = 1L;
11  
12  	public final ID jemmId;
13      public final int clientVersion;
14      public final Map<FieldInfo, Object> fieldValues;
15  
16      public ObjectState(ID jemmId, int version, Map<FieldInfo, Object> fieldValues) {
17      	if(jemmId == null)
18      		throw new IllegalArgumentException("jemmId of ObjectState may not be null");
19          this.jemmId = jemmId;
20          this.clientVersion = version;
21          this.fieldValues = fieldValues;
22      }
23      
24      public boolean equals(Object obj) {
25      	if(!(obj instanceof ObjectState))
26      		return false;
27      	
28      	ObjectState rhs = (ObjectState)obj;
29      	return jemmId.equals(rhs.jemmId) && clientVersion==rhs.clientVersion 
30      		&& fieldValues.equals(rhs.fieldValues);
31      }
32      
33      public int hashCode() {
34      	return jemmId.hashCode() + clientVersion + fieldValues.hashCode();
35      }
36      
37      public String toString() {
38      	return jemmId + "," + clientVersion + "," + fieldValues;
39      }
40  }