package org.mongodb.morphia.entities;
import org.bson.types.ObjectId;
import org.mongodb.morphia.annotations.Id;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
@SuppressWarnings("unused")
public class EntityWithListsAndArrays {
@Id
private ObjectId id;
private String[] arrayOfStrings;
private int[] arrayOfInts;
private List<String> listOfStrings;
private List<Integer> listOfIntegers;
private List<String> arrayListOfStrings;
private List<Integer> arrayListOfIntegers;
private List<EmbeddedType> listEmbeddedType;
private Set<Integer> setOfIntegers;
private String notAnArrayOrList;
public ObjectId getId() {
return id;
}
public void setId(final ObjectId id) {
this.id = id;
}
public List<Integer> getArrayListOfIntegers() {
return arrayListOfIntegers;
}
public void setArrayListOfIntegers(final ArrayList<Integer> arrayListOfIntegers) {
this.arrayListOfIntegers = arrayListOfIntegers;
}
public List<String> getArrayListOfStrings() {
return arrayListOfStrings;
}
public void setArrayListOfStrings(final ArrayList<String> arrayListOfStrings) {
this.arrayListOfStrings = arrayListOfStrings;
}
public int[] getArrayOfInts() {
return arrayOfInts;
}
public void setArrayOfInts(final int[] arrayOfInts) {
this.arrayOfInts = arrayOfInts;
}
public String[] getArrayOfStrings() {
return arrayOfStrings;
}
public void setArrayOfStrings(final String[] arrayOfStrings) {
this.arrayOfStrings = arrayOfStrings;
}
public List<Integer> getListOfIntegers() {
return listOfIntegers;
}
public void setListOfIntegers(final List<Integer> listOfIntegers) {
this.listOfIntegers = listOfIntegers;
}
public List<String> getListOfStrings() {
return listOfStrings;
}
public void setListOfStrings(final List<String> listOfStrings) {
this.listOfStrings = listOfStrings;
}
public String getNotAnArrayOrList() {
return notAnArrayOrList;
}
public void setNotAnArrayOrList(final String notAnArrayOrList) {
this.notAnArrayOrList = notAnArrayOrList;
}
public Set<Integer> getSetOfIntegers() {
return setOfIntegers;
}
public void setSetOfIntegers(final Set<Integer> setOfIntegers) {
this.setOfIntegers = setOfIntegers;
}
public List<EmbeddedType> getListEmbeddedType() {
return listEmbeddedType;
}
public void setListEmbeddedType(final List<EmbeddedType> listEmbeddedType) {
this.listEmbeddedType = listEmbeddedType;
}
@Override
public boolean equals(final Object o) {
if (this == o) {
return true;
}
if (!(o instanceof EntityWithListsAndArrays)) {
return false;
}
final EntityWithListsAndArrays that = (EntityWithListsAndArrays) o;
if (id != null ? !id.equals(that.id) : that.id != null) {
return false;
}
// Probably incorrect - comparing Object[] arrays with Arrays.equals
if (!Arrays.equals(arrayOfStrings, that.arrayOfStrings)) {
return false;
}
if (!Arrays.equals(arrayOfInts, that.arrayOfInts)) {
return false;
}
if (listOfStrings != null ? !listOfStrings.equals(that.listOfStrings) : that.listOfStrings != null) {
return false;
}
if (listOfIntegers != null ? !listOfIntegers.equals(that.listOfIntegers) : that.listOfIntegers != null) {
return false;
}
if (arrayListOfStrings != null ? !arrayListOfStrings.equals(that.arrayListOfStrings) : that.arrayListOfStrings != null) {
return false;
}
if (arrayListOfIntegers != null ? !arrayListOfIntegers.equals(that.arrayListOfIntegers) : that.arrayListOfIntegers != null) {
return false;
}
if (listEmbeddedType != null ? !listEmbeddedType.equals(that.listEmbeddedType) : that.listEmbeddedType != null) {
return false;
}
if (setOfIntegers != null ? !setOfIntegers.equals(that.setOfIntegers) : that.setOfIntegers != null) {
return false;
}
return notAnArrayOrList != null ? notAnArrayOrList.equals(that.notAnArrayOrList) : that.notAnArrayOrList == null;
}
@Override
public int hashCode() {
int result = id != null ? id.hashCode() : 0;
result = 31 * result + Arrays.hashCode(arrayOfStrings);
result = 31 * result + Arrays.hashCode(arrayOfInts);
result = 31 * result + (listOfStrings != null ? listOfStrings.hashCode() : 0);
result = 31 * result + (listOfIntegers != null ? listOfIntegers.hashCode() : 0);
result = 31 * result + (arrayListOfStrings != null ? arrayListOfStrings.hashCode() : 0);
result = 31 * result + (arrayListOfIntegers != null ? arrayListOfIntegers.hashCode() : 0);
result = 31 * result + (listEmbeddedType != null ? listEmbeddedType.hashCode() : 0);
result = 31 * result + (setOfIntegers != null ? setOfIntegers.hashCode() : 0);
result = 31 * result + (notAnArrayOrList != null ? notAnArrayOrList.hashCode() : 0);
return result;
}
}