package org.springframework.data.simpledb.domain;
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.Reference;
public class SimpleDbReferences {
@Id
private String itemName;
@Reference
private FirstNestedEntity firstNestedEntity;
public String getItemName() {
return itemName;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
public FirstNestedEntity getFirstNestedEntity() {
return firstNestedEntity;
}
public void setFirstNestedEntity(FirstNestedEntity firstNestedEntity) {
this.firstNestedEntity = firstNestedEntity;
}
@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);
}
public static class FirstNestedEntity {
@Id
private String itemName;
@Reference
private SecondNestedEntity secondNestedEntity;
public String getItemName() {
return itemName;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
public SecondNestedEntity getSecondNestedEntity() {
return secondNestedEntity;
}
public void setSecondNestedEntity(SecondNestedEntity secondNestedEntity) {
this.secondNestedEntity = secondNestedEntity;
}
@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);
}
}
public static class SecondNestedEntity {
@Id
private String itemName;
private String primitive = "primitive_string";
public String getItemName() {
return itemName;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
public String getPrimitive() {
return primitive;
}
public void setPrimitive(String primitive) {
this.primitive = primitive;
}
@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);
}
}
}