package org.springframework.data.simpledb.domain; import java.util.List; import java.util.Map; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Persistent; import org.springframework.data.annotation.Transient; /** * TODO: extend with other types to be tested as other type handlers are * implemented. One sample for each supported type. Each particular instance and * other tests should be included as Regular Junit Tests */ public class SimpleDbUser { @Id private String itemName; private float primitiveField; private String coreField; private NestedEntity nestedEntity; private Object objectField; private List<Integer> coreTypeList; private List<JSONCompatibleClass> objectList; private long[] primitiveArrayField; private Map<String, JSONCompatibleClass> mapOfStringAndObject; @SuppressWarnings("unused") @Persistent private String persistedField; @Transient private String transientField; public SimpleDbUser() { super(); } public SimpleDbUser(String persistedField) { this(); this.persistedField = persistedField; } public void setItemName(String itemName) { this.itemName = itemName; } public String getItemName() { return itemName; } public float getPrimitiveField() { return primitiveField; } public void setPrimitiveField(float primitiveField) { this.primitiveField = primitiveField; } public String getCoreField() { return coreField; } public void setCoreField(String coreField) { this.coreField = coreField; } public NestedEntity getNestedEntity() { return nestedEntity; } public void setNestedEntity(NestedEntity nestedEntity) { this.nestedEntity = nestedEntity; } public Object getObjectField() { return objectField; } public void setObjectField(Object objectField) { this.objectField = objectField; } public List<Integer> getCoreTypeList() { return coreTypeList; } public long[] getPrimitiveArrayField() { return (primitiveArrayField != null ? primitiveArrayField.clone() : null); } public void setCoreTypeList(List<Integer> coreTypeList) { this.coreTypeList = coreTypeList; } public void setPrimitiveArrayField(long[] primitiveArrayField) { this.primitiveArrayField = primitiveArrayField.clone(); } public List<JSONCompatibleClass> getObjectList() { return objectList; } public void setObjectList(List<JSONCompatibleClass> objectList) { this.objectList = objectList; } public Map<String, JSONCompatibleClass> getMapOfStringAndObject() { return mapOfStringAndObject; } public void setMapOfStringAndObject( Map<String, JSONCompatibleClass> mapOfStringAndObject) { this.mapOfStringAndObject = mapOfStringAndObject; } public String getTransientField() { return transientField; } public void setTransientField(String transientField) { this.transientField = transientField; } public static class NestedEntity { private int nestedPrimitiveField; private InnerNestedEntity innerNestedEntity; public int getNestedPrimitiveField() { return nestedPrimitiveField; } public void setNestedPrimitiveField(int nestedPrimitiveField) { this.nestedPrimitiveField = nestedPrimitiveField; } public InnerNestedEntity getInnerNestedEntity() { return innerNestedEntity; } public void setInnerNestedEntity(InnerNestedEntity innerNestedEntity) { this.innerNestedEntity = innerNestedEntity; } /** * Auto-generated */ @Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(NestedEntity.this); } @Override public boolean equals(Object obj) { return EqualsBuilder.reflectionEquals(NestedEntity.this, obj); } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } public static class InnerNestedEntity { private String innerNestedField; public String getInnerNestedField() { return innerNestedField; } public void setInnerNestedField(String innerNestedField) { this.innerNestedField = innerNestedField; } @Override public int hashCode() { return HashCodeBuilder .reflectionHashCode(InnerNestedEntity.this); } @Override public boolean equals(Object obj) { return EqualsBuilder.reflectionEquals(InnerNestedEntity.this, obj); } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } } } @Override public boolean equals(Object o) { return EqualsBuilder.reflectionEquals(this, o); } @Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this); } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }