/*
* Copyright 2017 MongoDB, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.bson.codecs.pojo.entities;
import java.util.List;
import java.util.Map;
import java.util.Set;
import static java.util.Collections.singletonList;
public final class CollectionNestedPojoModel {
@SuppressWarnings("checkstyle:name")
private static List<SimpleModel> staticSimple = singletonList(new SimpleModel(1, "static"));
private List<SimpleModel> listSimple;
private List<List<SimpleModel>> listListSimple;
private Set<SimpleModel> setSimple;
private Set<Set<SimpleModel>> setSetSimple;
private Map<String, SimpleModel> mapSimple;
private Map<String, Map<String, SimpleModel>> mapMapSimple;
private Map<String, List<SimpleModel>> mapListSimple;
private Map<String, List<Map<String, SimpleModel>>> mapListMapSimple;
private Map<String, Set<SimpleModel>> mapSetSimple;
private List<Map<String, SimpleModel>> listMapSimple;
private List<Map<String, List<SimpleModel>>> listMapListSimple;
private List<Map<String, Set<SimpleModel>>> listMapSetSimple;
public CollectionNestedPojoModel() {
}
public CollectionNestedPojoModel(final List<SimpleModel> listSimple, final List<List<SimpleModel>> listListSimple, final
Set<SimpleModel> setSimple, final Set<Set<SimpleModel>> setSetSimple, final Map<String, SimpleModel> mapSimple, final Map<String,
Map<String, SimpleModel>> mapMapSimple, final Map<String, List<SimpleModel>> mapListSimple, final Map<String,
List<Map<String, SimpleModel>>> mapListMapSimple, final Map<String, Set<SimpleModel>> mapSetSimple, final List<Map<String,
SimpleModel>> listMapSimple, final List<Map<String, List<SimpleModel>>> listMapListSimple, final List<Map<String,
Set<SimpleModel>>> listMapSetSimple) {
this.listSimple = listSimple;
this.listListSimple = listListSimple;
this.setSimple = setSimple;
this.setSetSimple = setSetSimple;
this.mapSimple = mapSimple;
this.mapMapSimple = mapMapSimple;
this.mapListSimple = mapListSimple;
this.mapListMapSimple = mapListMapSimple;
this.mapSetSimple = mapSetSimple;
this.listMapSimple = listMapSimple;
this.listMapListSimple = listMapListSimple;
this.listMapSetSimple = listMapSetSimple;
}
public static List<SimpleModel> getStaticSimple() {
return staticSimple;
}
public static void setStaticSimple(final List<SimpleModel> staticSimple) {
CollectionNestedPojoModel.staticSimple = staticSimple;
}
public List<SimpleModel> getListSimple() {
return listSimple;
}
public void setListSimple(final List<SimpleModel> listSimple) {
this.listSimple = listSimple;
}
public List<List<SimpleModel>> getListListSimple() {
return listListSimple;
}
public void setListListSimple(final List<List<SimpleModel>> listListSimple) {
this.listListSimple = listListSimple;
}
public Set<SimpleModel> getSetSimple() {
return setSimple;
}
public void setSetSimple(final Set<SimpleModel> setSimple) {
this.setSimple = setSimple;
}
public Set<Set<SimpleModel>> getSetSetSimple() {
return setSetSimple;
}
public void setSetSetSimple(final Set<Set<SimpleModel>> setSetSimple) {
this.setSetSimple = setSetSimple;
}
public Map<String, SimpleModel> getMapSimple() {
return mapSimple;
}
public void setMapSimple(final Map<String, SimpleModel> mapSimple) {
this.mapSimple = mapSimple;
}
public Map<String, Map<String, SimpleModel>> getMapMapSimple() {
return mapMapSimple;
}
public void setMapMapSimple(final Map<String, Map<String, SimpleModel>> mapMapSimple) {
this.mapMapSimple = mapMapSimple;
}
public Map<String, List<SimpleModel>> getMapListSimple() {
return mapListSimple;
}
public void setMapListSimple(final Map<String, List<SimpleModel>> mapListSimple) {
this.mapListSimple = mapListSimple;
}
public Map<String, List<Map<String, SimpleModel>>> getMapListMapSimple() {
return mapListMapSimple;
}
public void setMapListMapSimple(final Map<String, List<Map<String, SimpleModel>>> mapListMapSimple) {
this.mapListMapSimple = mapListMapSimple;
}
public Map<String, Set<SimpleModel>> getMapSetSimple() {
return mapSetSimple;
}
public void setMapSetSimple(final Map<String, Set<SimpleModel>> mapSetSimple) {
this.mapSetSimple = mapSetSimple;
}
public List<Map<String, SimpleModel>> getListMapSimple() {
return listMapSimple;
}
public void setListMapSimple(final List<Map<String, SimpleModel>> listMapSimple) {
this.listMapSimple = listMapSimple;
}
public List<Map<String, List<SimpleModel>>> getListMapListSimple() {
return listMapListSimple;
}
public void setListMapListSimple(final List<Map<String, List<SimpleModel>>> listMapListSimple) {
this.listMapListSimple = listMapListSimple;
}
public List<Map<String, Set<SimpleModel>>> getListMapSetSimple() {
return listMapSetSimple;
}
public void setListMapSetSimple(final List<Map<String, Set<SimpleModel>>> listMapSetSimple) {
this.listMapSetSimple = listMapSetSimple;
}
@Override
public boolean equals(final Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
CollectionNestedPojoModel that = (CollectionNestedPojoModel) o;
if (getListSimple() != null ? !getListSimple().equals(that.getListSimple()) : that.getListSimple() != null) {
return false;
}
if (getListListSimple() != null ? !getListListSimple().equals(that.getListListSimple()) : that.getListListSimple() != null) {
return false;
}
if (getSetSimple() != null ? !getSetSimple().equals(that.getSetSimple()) : that.getSetSimple() != null) {
return false;
}
if (getSetSetSimple() != null ? !getSetSetSimple().equals(that.getSetSetSimple()) : that.getSetSetSimple() != null) {
return false;
}
if (getMapSimple() != null ? !getMapSimple().equals(that.getMapSimple()) : that.getMapSimple() != null) {
return false;
}
if (getMapMapSimple() != null ? !getMapMapSimple().equals(that.getMapMapSimple()) : that.getMapMapSimple() != null) {
return false;
}
if (getMapListSimple() != null ? !getMapListSimple().equals(that.getMapListSimple()) : that.getMapListSimple() != null) {
return false;
}
if (getMapListMapSimple() != null ? !getMapListMapSimple().equals(that.getMapListMapSimple())
: that.getMapListMapSimple() != null) {
return false;
}
if (getMapSetSimple() != null ? !getMapSetSimple().equals(that.getMapSetSimple()) : that.getMapSetSimple() != null) {
return false;
}
if (getListMapSimple() != null ? !getListMapSimple().equals(that.getListMapSimple()) : that.getListMapSimple() != null) {
return false;
}
if (getListMapListSimple() != null ? !getListMapListSimple().equals(that.getListMapListSimple())
: that.getListMapListSimple() != null) {
return false;
}
if (getListMapSetSimple() != null ? !getListMapSetSimple().equals(that.getListMapSetSimple())
: that.getListMapSetSimple() != null) {
return false;
}
return true;
}
@Override
public int hashCode() {
int result = getListSimple() != null ? getListSimple().hashCode() : 0;
result = 31 * result + (getListListSimple() != null ? getListListSimple().hashCode() : 0);
result = 31 * result + (getSetSimple() != null ? getSetSimple().hashCode() : 0);
result = 31 * result + (getSetSetSimple() != null ? getSetSetSimple().hashCode() : 0);
result = 31 * result + (getMapSimple() != null ? getMapSimple().hashCode() : 0);
result = 31 * result + (getMapMapSimple() != null ? getMapMapSimple().hashCode() : 0);
result = 31 * result + (getMapListSimple() != null ? getMapListSimple().hashCode() : 0);
result = 31 * result + (getMapListMapSimple() != null ? getMapListMapSimple().hashCode() : 0);
result = 31 * result + (getMapSetSimple() != null ? getMapSetSimple().hashCode() : 0);
result = 31 * result + (getListMapSimple() != null ? getListMapSimple().hashCode() : 0);
result = 31 * result + (getListMapListSimple() != null ? getListMapListSimple().hashCode() : 0);
result = 31 * result + (getListMapSetSimple() != null ? getListMapSetSimple().hashCode() : 0);
return result;
}
@Override
public String toString() {
return "CollectionNestedPojoModel{"
+ "listSimple=" + listSimple
+ ", listListSimple=" + listListSimple
+ ", setSimple=" + setSimple
+ ", setSetSimple=" + setSetSimple
+ ", mapSimple=" + mapSimple
+ ", mapMapSimple=" + mapMapSimple
+ ", mapListSimple=" + mapListSimple
+ ", mapListMapSimple=" + mapListMapSimple
+ ", mapSetSimple=" + mapSetSimple
+ ", listMapSimple=" + listMapSimple
+ ", listMapListSimple=" + listMapListSimple
+ ", listMapSetSimple=" + listMapSetSimple
+ "}";
}
}