/* * Copyright (C) 2012 Facebook, 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 com.facebook.swift.codec; import java.util.List; import java.util.Map; import java.util.Set; @ThriftStruct public final class OneOfEverything { @ThriftField(1) public boolean aBoolean; @ThriftField(2) public byte aByte; @ThriftField(3) public short aShort; @ThriftField(4) public int aInt; @ThriftField(5) public long aLong; @ThriftField(6) public double aDouble; @ThriftField(7) public String aString; @ThriftField(8) public BonkField aStruct; @ThriftField(9) public Fruit aEnum; @ThriftField(10) public Letter aCustomEnum; @ThriftField(11) public Set<Boolean> aBooleanSet; @ThriftField(12) public Set<Byte> aByteSet; @ThriftField(13) public Set<Short> aShortSet; @ThriftField(14) public Set<Integer> aIntegerSet; @ThriftField(15) public Set<Long> aLongSet; @ThriftField(16) public Set<Double> aDoubleSet; @ThriftField(17) public Set<String> aStringSet; @ThriftField(18) public Set<BonkField> aStructSet; @ThriftField(19) public Set<Fruit> aEnumSet; @ThriftField(20) public Set<Letter> aCustomEnumSet; @ThriftField(21) public List<Boolean> aBooleanList; @ThriftField(22) public List<Byte> aByteList; @ThriftField(23) public List<Short> aShortList; @ThriftField(24) public List<Integer> aIntegerList; @ThriftField(25) public List<Long> aLongList; @ThriftField(26) public List<Double> aDoubleList; @ThriftField(27) public List<String> aStringList; @ThriftField(28) public List<BonkField> aStructList; @ThriftField(29) public List<Fruit> aEnumList; @ThriftField(30) public List<Letter> aCustomEnumList; @ThriftField(31) public Map<String, Boolean> aBooleanValueMap; @ThriftField(32) public Map<String, Byte> aByteValueMap; @ThriftField(33) public Map<String, Short> aShortValueMap; @ThriftField(34) public Map<String, Integer> aIntegerValueMap; @ThriftField(35) public Map<String, Long> aLongValueMap; @ThriftField(36) public Map<String, Double> aDoubleValueMap; @ThriftField(37) public Map<String, String> aStringValueMap; @ThriftField(38) public Map<String, BonkField> aStructValueMap; @ThriftField(39) public Map<String, Fruit> aEnumValueMap; @ThriftField(40) public Map<String, Letter> aCustomEnumValueMap; @ThriftField(41) public Map<Boolean, String> aBooleanKeyMap; @ThriftField(42) public Map<Byte, String> aByteKeyMap; @ThriftField(43) public Map<Short, String> aShortKeyMap; @ThriftField(44) public Map<Integer, String> aIntegerKeyMap; @ThriftField(45) public Map<Long, String> aLongKeyMap; @ThriftField(46) public Map<Double, String> aDoubleKeyMap; @ThriftField(47) public Map<String, String> aStringKeyMap; @ThriftField(48) public Map<BonkField, String> aStructKeyMap; @ThriftField(49) public Map<Fruit, String> aEnumKeyMap; @ThriftField(50) public Map<Letter, String> aCustomEnumKeyMap; @ThriftField(60) public UnionField aUnion; @ThriftField(61) public Set<UnionField> aUnionSet; @ThriftField(62) public List<UnionField> aUnionList; @ThriftField(63) public Map<UnionField, String> aUnionKeyMap; @ThriftField(64) public Map<String, UnionField> aUnionValueMap; @ThriftField(100) public Set<List<Map<String, BonkField>>> aSetOfListsOfMaps; @ThriftField(101) public Map<List<String>, Set<BonkField>> aMapOfListToSet; @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } final OneOfEverything that = (OneOfEverything) o; if (aBoolean != that.aBoolean) { return false; } if (aByte != that.aByte) { return false; } if (Double.compare(that.aDouble, aDouble) != 0) { return false; } if (aInt != that.aInt) { return false; } if (aLong != that.aLong) { return false; } if (aShort != that.aShort) { return false; } if (aBooleanKeyMap != null ? !aBooleanKeyMap.equals(that.aBooleanKeyMap) : that.aBooleanKeyMap != null) { return false; } if (aBooleanList != null ? !aBooleanList.equals(that.aBooleanList) : that.aBooleanList != null) { return false; } if (aBooleanSet != null ? !aBooleanSet.equals(that.aBooleanSet) : that.aBooleanSet != null) { return false; } if (aBooleanValueMap != null ? !aBooleanValueMap.equals(that.aBooleanValueMap) : that.aBooleanValueMap != null) { return false; } if (aByteKeyMap != null ? !aByteKeyMap.equals(that.aByteKeyMap) : that.aByteKeyMap != null) { return false; } if (aByteList != null ? !aByteList.equals(that.aByteList) : that.aByteList != null) { return false; } if (aByteSet != null ? !aByteSet.equals(that.aByteSet) : that.aByteSet != null) { return false; } if (aByteValueMap != null ? !aByteValueMap.equals(that.aByteValueMap) : that.aByteValueMap != null) { return false; } if (aCustomEnum != that.aCustomEnum) { return false; } if (aCustomEnumKeyMap != null ? !aCustomEnumKeyMap.equals(that.aCustomEnumKeyMap) : that.aCustomEnumKeyMap != null) { return false; } if (aCustomEnumList != null ? !aCustomEnumList.equals(that.aCustomEnumList) : that.aCustomEnumList != null) { return false; } if (aCustomEnumSet != null ? !aCustomEnumSet.equals(that.aCustomEnumSet) : that.aCustomEnumSet != null) { return false; } if (aCustomEnumValueMap != null ? !aCustomEnumValueMap.equals(that.aCustomEnumValueMap) : that.aCustomEnumValueMap != null) { return false; } if (aDoubleKeyMap != null ? !aDoubleKeyMap.equals(that.aDoubleKeyMap) : that.aDoubleKeyMap != null) { return false; } if (aDoubleList != null ? !aDoubleList.equals(that.aDoubleList) : that.aDoubleList != null) { return false; } if (aDoubleSet != null ? !aDoubleSet.equals(that.aDoubleSet) : that.aDoubleSet != null) { return false; } if (aDoubleValueMap != null ? !aDoubleValueMap.equals(that.aDoubleValueMap) : that.aDoubleValueMap != null) { return false; } if (aEnum != that.aEnum) { return false; } if (aEnumKeyMap != null ? !aEnumKeyMap.equals(that.aEnumKeyMap) : that.aEnumKeyMap != null) { return false; } if (aEnumList != null ? !aEnumList.equals(that.aEnumList) : that.aEnumList != null) { return false; } if (aEnumSet != null ? !aEnumSet.equals(that.aEnumSet) : that.aEnumSet != null) { return false; } if (aEnumValueMap != null ? !aEnumValueMap.equals(that.aEnumValueMap) : that.aEnumValueMap != null) { return false; } if (aIntegerKeyMap != null ? !aIntegerKeyMap.equals(that.aIntegerKeyMap) : that.aIntegerKeyMap != null) { return false; } if (aIntegerList != null ? !aIntegerList.equals(that.aIntegerList) : that.aIntegerList != null) { return false; } if (aIntegerSet != null ? !aIntegerSet.equals(that.aIntegerSet) : that.aIntegerSet != null) { return false; } if (aIntegerValueMap != null ? !aIntegerValueMap.equals(that.aIntegerValueMap) : that.aIntegerValueMap != null) { return false; } if (aLongKeyMap != null ? !aLongKeyMap.equals(that.aLongKeyMap) : that.aLongKeyMap != null) { return false; } if (aLongList != null ? !aLongList.equals(that.aLongList) : that.aLongList != null) { return false; } if (aLongSet != null ? !aLongSet.equals(that.aLongSet) : that.aLongSet != null) { return false; } if (aLongValueMap != null ? !aLongValueMap.equals(that.aLongValueMap) : that.aLongValueMap != null) { return false; } if (aMapOfListToSet != null ? !aMapOfListToSet.equals(that.aMapOfListToSet) : that.aMapOfListToSet != null) { return false; } if (aSetOfListsOfMaps != null ? !aSetOfListsOfMaps.equals(that.aSetOfListsOfMaps) : that.aSetOfListsOfMaps != null) { return false; } if (aShortKeyMap != null ? !aShortKeyMap.equals(that.aShortKeyMap) : that.aShortKeyMap != null) { return false; } if (aShortList != null ? !aShortList.equals(that.aShortList) : that.aShortList != null) { return false; } if (aShortSet != null ? !aShortSet.equals(that.aShortSet) : that.aShortSet != null) { return false; } if (aShortValueMap != null ? !aShortValueMap.equals(that.aShortValueMap) : that.aShortValueMap != null) { return false; } if (aString != null ? !aString.equals(that.aString) : that.aString != null) { return false; } if (aStringKeyMap != null ? !aStringKeyMap.equals(that.aStringKeyMap) : that.aStringKeyMap != null) { return false; } if (aStringList != null ? !aStringList.equals(that.aStringList) : that.aStringList != null) { return false; } if (aStringSet != null ? !aStringSet.equals(that.aStringSet) : that.aStringSet != null) { return false; } if (aStringValueMap != null ? !aStringValueMap.equals(that.aStringValueMap) : that.aStringValueMap != null) { return false; } if (aStruct != null ? !aStruct.equals(that.aStruct) : that.aStruct != null) { return false; } if (aStructKeyMap != null ? !aStructKeyMap.equals(that.aStructKeyMap) : that.aStructKeyMap != null) { return false; } if (aStructList != null ? !aStructList.equals(that.aStructList) : that.aStructList != null) { return false; } if (aStructSet != null ? !aStructSet.equals(that.aStructSet) : that.aStructSet != null) { return false; } if (aStructValueMap != null ? !aStructValueMap.equals(that.aStructValueMap) : that.aStructValueMap != null) { return false; } if (aUnion != null ? !aUnion.equals(that.aUnion) : that.aUnion != null) { return false; } if (aUnionKeyMap != null ? !aUnionKeyMap.equals(that.aUnionKeyMap) : that.aUnionKeyMap != null) { return false; } if (aUnionList != null ? !aUnionList.equals(that.aUnionList) : that.aUnionList != null) { return false; } if (aUnionSet != null ? !aUnionSet.equals(that.aUnionSet) : that.aUnionSet != null) { return false; } if (aUnionValueMap != null ? !aUnionValueMap.equals(that.aUnionValueMap) : that.aUnionValueMap != null) { return false; } return true; } @Override public int hashCode() { int result; long temp; result = (aBoolean ? 1 : 0); result = 31 * result + (int) aByte; result = 31 * result + (int) aShort; result = 31 * result + aInt; result = 31 * result + (int) (aLong ^ (aLong >>> 32)); temp = aDouble != +0.0d ? Double.doubleToLongBits(aDouble) : 0L; result = 31 * result + (int) (temp ^ (temp >>> 32)); result = 31 * result + (aString != null ? aString.hashCode() : 0); result = 31 * result + (aStruct != null ? aStruct.hashCode() : 0); result = 31 * result + (aEnum != null ? aEnum.hashCode() : 0); result = 31 * result + (aCustomEnum != null ? aCustomEnum.hashCode() : 0); result = 31 * result + (aBooleanSet != null ? aBooleanSet.hashCode() : 0); result = 31 * result + (aByteSet != null ? aByteSet.hashCode() : 0); result = 31 * result + (aShortSet != null ? aShortSet.hashCode() : 0); result = 31 * result + (aIntegerSet != null ? aIntegerSet.hashCode() : 0); result = 31 * result + (aLongSet != null ? aLongSet.hashCode() : 0); result = 31 * result + (aDoubleSet != null ? aDoubleSet.hashCode() : 0); result = 31 * result + (aStringSet != null ? aStringSet.hashCode() : 0); result = 31 * result + (aStructSet != null ? aStructSet.hashCode() : 0); result = 31 * result + (aEnumSet != null ? aEnumSet.hashCode() : 0); result = 31 * result + (aCustomEnumSet != null ? aCustomEnumSet.hashCode() : 0); result = 31 * result + (aBooleanList != null ? aBooleanList.hashCode() : 0); result = 31 * result + (aByteList != null ? aByteList.hashCode() : 0); result = 31 * result + (aShortList != null ? aShortList.hashCode() : 0); result = 31 * result + (aIntegerList != null ? aIntegerList.hashCode() : 0); result = 31 * result + (aLongList != null ? aLongList.hashCode() : 0); result = 31 * result + (aDoubleList != null ? aDoubleList.hashCode() : 0); result = 31 * result + (aStringList != null ? aStringList.hashCode() : 0); result = 31 * result + (aStructList != null ? aStructList.hashCode() : 0); result = 31 * result + (aEnumList != null ? aEnumList.hashCode() : 0); result = 31 * result + (aCustomEnumList != null ? aCustomEnumList.hashCode() : 0); result = 31 * result + (aBooleanValueMap != null ? aBooleanValueMap.hashCode() : 0); result = 31 * result + (aByteValueMap != null ? aByteValueMap.hashCode() : 0); result = 31 * result + (aShortValueMap != null ? aShortValueMap.hashCode() : 0); result = 31 * result + (aIntegerValueMap != null ? aIntegerValueMap.hashCode() : 0); result = 31 * result + (aLongValueMap != null ? aLongValueMap.hashCode() : 0); result = 31 * result + (aDoubleValueMap != null ? aDoubleValueMap.hashCode() : 0); result = 31 * result + (aStringValueMap != null ? aStringValueMap.hashCode() : 0); result = 31 * result + (aStructValueMap != null ? aStructValueMap.hashCode() : 0); result = 31 * result + (aEnumValueMap != null ? aEnumValueMap.hashCode() : 0); result = 31 * result + (aCustomEnumValueMap != null ? aCustomEnumValueMap.hashCode() : 0); result = 31 * result + (aBooleanKeyMap != null ? aBooleanKeyMap.hashCode() : 0); result = 31 * result + (aByteKeyMap != null ? aByteKeyMap.hashCode() : 0); result = 31 * result + (aShortKeyMap != null ? aShortKeyMap.hashCode() : 0); result = 31 * result + (aIntegerKeyMap != null ? aIntegerKeyMap.hashCode() : 0); result = 31 * result + (aLongKeyMap != null ? aLongKeyMap.hashCode() : 0); result = 31 * result + (aDoubleKeyMap != null ? aDoubleKeyMap.hashCode() : 0); result = 31 * result + (aStringKeyMap != null ? aStringKeyMap.hashCode() : 0); result = 31 * result + (aStructKeyMap != null ? aStructKeyMap.hashCode() : 0); result = 31 * result + (aEnumKeyMap != null ? aEnumKeyMap.hashCode() : 0); result = 31 * result + (aCustomEnumKeyMap != null ? aCustomEnumKeyMap.hashCode() : 0); result = 31 * result + (aSetOfListsOfMaps != null ? aSetOfListsOfMaps.hashCode() : 0); result = 31 * result + (aMapOfListToSet != null ? aMapOfListToSet.hashCode() : 0); result = 31 * result + (aUnion != null ? aUnion.hashCode() : 0); result = 31 * result + (aUnionList != null ? aUnionList.hashCode() : 0); result = 31 * result + (aUnionSet != null ? aUnionSet.hashCode() : 0); result = 31 * result + (aUnionKeyMap != null ? aUnionKeyMap.hashCode() : 0); result = 31 * result + (aUnionValueMap != null ? aUnionValueMap.hashCode() : 0); return result; } @Override public String toString() { final StringBuilder sb = new StringBuilder(); sb.append("OneOfEverything"); sb.append("{aBoolean=").append(aBoolean); sb.append(", aByte=").append(aByte); sb.append(", aShort=").append(aShort); sb.append(", aInt=").append(aInt); sb.append(", aLong=").append(aLong); sb.append(", aDouble=").append(aDouble); sb.append(", aString='").append(aString).append('\''); sb.append(", aStruct=").append(aStruct); sb.append(", aEnum=").append(aEnum); sb.append(", aCustomEnum=").append(aCustomEnum); sb.append(", aBooleanSet=").append(aBooleanSet); sb.append(", aByteSet=").append(aByteSet); sb.append(", aShortSet=").append(aShortSet); sb.append(", aIntegerSet=").append(aIntegerSet); sb.append(", aLongSet=").append(aLongSet); sb.append(", aDoubleSet=").append(aDoubleSet); sb.append(", aStringSet=").append(aStringSet); sb.append(", aStructSet=").append(aStructSet); sb.append(", aEnumSet=").append(aEnumSet); sb.append(", aCustomEnumSet=").append(aCustomEnumSet); sb.append(", aBooleanList=").append(aBooleanList); sb.append(", aByteList=").append(aByteList); sb.append(", aShortList=").append(aShortList); sb.append(", aIntegerList=").append(aIntegerList); sb.append(", aLongList=").append(aLongList); sb.append(", aDoubleList=").append(aDoubleList); sb.append(", aStringList=").append(aStringList); sb.append(", aStructList=").append(aStructList); sb.append(", aEnumList=").append(aEnumList); sb.append(", aCustomEnumList=").append(aCustomEnumList); sb.append(", aBooleanValueMap=").append(aBooleanValueMap); sb.append(", aByteValueMap=").append(aByteValueMap); sb.append(", aShortValueMap=").append(aShortValueMap); sb.append(", aIntegerValueMap=").append(aIntegerValueMap); sb.append(", aLongValueMap=").append(aLongValueMap); sb.append(", aDoubleValueMap=").append(aDoubleValueMap); sb.append(", aStringValueMap=").append(aStringValueMap); sb.append(", aStructValueMap=").append(aStructValueMap); sb.append(", aEnumValueMap=").append(aEnumValueMap); sb.append(", aCustomEnumValueMap=").append(aCustomEnumValueMap); sb.append(", aBooleanKeyMap=").append(aBooleanKeyMap); sb.append(", aByteKeyMap=").append(aByteKeyMap); sb.append(", aShortKeyMap=").append(aShortKeyMap); sb.append(", aIntegerKeyMap=").append(aIntegerKeyMap); sb.append(", aLongKeyMap=").append(aLongKeyMap); sb.append(", aDoubleKeyMap=").append(aDoubleKeyMap); sb.append(", aStringKeyMap=").append(aStringKeyMap); sb.append(", aStructKeyMap=").append(aStructKeyMap); sb.append(", aEnumKeyMap=").append(aEnumKeyMap); sb.append(", aCustomEnumKeyMap=").append(aCustomEnumKeyMap); sb.append(", aSetOfListsOfMaps=").append(aSetOfListsOfMaps); sb.append(", aMapOfListToSet=").append(aMapOfListToSet); sb.append(", aUnion=").append(aUnion); sb.append(", aUnionSet=").append(aUnionSet); sb.append(", aUnionList=").append(aUnionList); sb.append(", aUnionKeyMap=").append(aUnionKeyMap); sb.append(", aUnionValueMap=").append(aUnionValueMap); sb.append('}'); return sb.toString(); } }