import java.util.Map; import java.util.SortedMap; import lombok.Singular; @lombok.Builder class BuilderSingularMaps { public static @java.lang.SuppressWarnings("all") class BuilderSingularMapsBuilder { private @java.lang.SuppressWarnings("all") java.util.ArrayList women$key; private @java.lang.SuppressWarnings("all") java.util.ArrayList women$value; private @java.lang.SuppressWarnings("all") java.util.ArrayList men$key; private @java.lang.SuppressWarnings("all") java.util.ArrayList men$value; private @java.lang.SuppressWarnings("all") java.util.ArrayList rawMap$key; private @java.lang.SuppressWarnings("all") java.util.ArrayList rawMap$value; private @java.lang.SuppressWarnings("all") java.util.ArrayList stringMap$key; private @java.lang.SuppressWarnings("all") java.util.ArrayList stringMap$value; @java.lang.SuppressWarnings("all") BuilderSingularMapsBuilder() { super(); } public @java.lang.SuppressWarnings("all") BuilderSingularMaps.BuilderSingularMapsBuilder woman(final K womanKey, final V womanValue) { if ((this.women$key == null)) { this.women$key = new java.util.ArrayList(); this.women$value = new java.util.ArrayList(); } this.women$key.add(womanKey); this.women$value.add(womanValue); return this; } public @java.lang.SuppressWarnings("all") BuilderSingularMaps.BuilderSingularMapsBuilder women(final java.util.Map women) { if ((this.women$key == null)) { this.women$key = new java.util.ArrayList(); this.women$value = new java.util.ArrayList(); } for (java.util.Map.Entry $lombokEntry : women.entrySet()) { this.women$key.add($lombokEntry.getKey()); this.women$value.add($lombokEntry.getValue()); } return this; } public @java.lang.SuppressWarnings("all") BuilderSingularMaps.BuilderSingularMapsBuilder clearWomen() { if ((this.women$key != null)) { this.women$key.clear(); this.women$value.clear(); } return this; } public @java.lang.SuppressWarnings("all") BuilderSingularMaps.BuilderSingularMapsBuilder man(final K manKey, final Number manValue) { if ((this.men$key == null)) { this.men$key = new java.util.ArrayList(); this.men$value = new java.util.ArrayList(); } this.men$key.add(manKey); this.men$value.add(manValue); return this; } public @java.lang.SuppressWarnings("all") BuilderSingularMaps.BuilderSingularMapsBuilder men(final java.util.Map men) { if ((this.men$key == null)) { this.men$key = new java.util.ArrayList(); this.men$value = new java.util.ArrayList(); } for (java.util.Map.Entry $lombokEntry : men.entrySet()) { this.men$key.add($lombokEntry.getKey()); this.men$value.add($lombokEntry.getValue()); } return this; } public @java.lang.SuppressWarnings("all") BuilderSingularMaps.BuilderSingularMapsBuilder clearMen() { if ((this.men$key != null)) { this.men$key.clear(); this.men$value.clear(); } return this; } public @java.lang.SuppressWarnings("all") BuilderSingularMaps.BuilderSingularMapsBuilder rawMap(final java.lang.Object rawMapKey, final java.lang.Object rawMapValue) { if ((this.rawMap$key == null)) { this.rawMap$key = new java.util.ArrayList(); this.rawMap$value = new java.util.ArrayList(); } this.rawMap$key.add(rawMapKey); this.rawMap$value.add(rawMapValue); return this; } public @java.lang.SuppressWarnings("all") BuilderSingularMaps.BuilderSingularMapsBuilder rawMap(final java.util.Map rawMap) { if ((this.rawMap$key == null)) { this.rawMap$key = new java.util.ArrayList(); this.rawMap$value = new java.util.ArrayList(); } for (java.util.Map.Entry $lombokEntry : rawMap.entrySet()) { this.rawMap$key.add($lombokEntry.getKey()); this.rawMap$value.add($lombokEntry.getValue()); } return this; } public @java.lang.SuppressWarnings("all") BuilderSingularMaps.BuilderSingularMapsBuilder clearRawMap() { if ((this.rawMap$key != null)) { this.rawMap$key.clear(); this.rawMap$value.clear(); } return this; } public @java.lang.SuppressWarnings("all") BuilderSingularMaps.BuilderSingularMapsBuilder stringMap(final String stringMapKey, final V stringMapValue) { if ((this.stringMap$key == null)) { this.stringMap$key = new java.util.ArrayList(); this.stringMap$value = new java.util.ArrayList(); } this.stringMap$key.add(stringMapKey); this.stringMap$value.add(stringMapValue); return this; } public @java.lang.SuppressWarnings("all") BuilderSingularMaps.BuilderSingularMapsBuilder stringMap(final java.util.Map stringMap) { if ((this.stringMap$key == null)) { this.stringMap$key = new java.util.ArrayList(); this.stringMap$value = new java.util.ArrayList(); } for (java.util.Map.Entry $lombokEntry : stringMap.entrySet()) { this.stringMap$key.add($lombokEntry.getKey()); this.stringMap$value.add($lombokEntry.getValue()); } return this; } public @java.lang.SuppressWarnings("all") BuilderSingularMaps.BuilderSingularMapsBuilder clearStringMap() { if ((this.stringMap$key != null)) { this.stringMap$key.clear(); this.stringMap$value.clear(); } return this; } public @java.lang.SuppressWarnings("all") BuilderSingularMaps build() { java.util.Map women; switch (((this.women$key == null) ? 0 : this.women$key.size())) { case 0 : women = java.util.Collections.emptyMap(); break; case 1 : women = java.util.Collections.singletonMap(this.women$key.get(0), this.women$value.get(0)); break; default : women = new java.util.LinkedHashMap(((this.women$key.size() < 0x40000000) ? ((1 + this.women$key.size()) + ((this.women$key.size() - 3) / 3)) : java.lang.Integer.MAX_VALUE)); for (int $i = 0;; ($i < this.women$key.size()); $i ++) women.put(this.women$key.get($i), this.women$value.get($i)); women = java.util.Collections.unmodifiableMap(women); } java.util.SortedMap men = new java.util.TreeMap(); if ((this.men$key != null)) for (int $i = 0;; ($i < ((this.men$key == null) ? 0 : this.men$key.size())); $i ++) men.put(this.men$key.get($i), this.men$value.get($i)); men = java.util.Collections.unmodifiableSortedMap(men); java.util.Map rawMap; switch (((this.rawMap$key == null) ? 0 : this.rawMap$key.size())) { case 0 : rawMap = java.util.Collections.emptyMap(); break; case 1 : rawMap = java.util.Collections.singletonMap(this.rawMap$key.get(0), this.rawMap$value.get(0)); break; default : rawMap = new java.util.LinkedHashMap(((this.rawMap$key.size() < 0x40000000) ? ((1 + this.rawMap$key.size()) + ((this.rawMap$key.size() - 3) / 3)) : java.lang.Integer.MAX_VALUE)); for (int $i = 0;; ($i < this.rawMap$key.size()); $i ++) rawMap.put(this.rawMap$key.get($i), this.rawMap$value.get($i)); rawMap = java.util.Collections.unmodifiableMap(rawMap); } java.util.Map stringMap; switch (((this.stringMap$key == null) ? 0 : this.stringMap$key.size())) { case 0 : stringMap = java.util.Collections.emptyMap(); break; case 1 : stringMap = java.util.Collections.singletonMap(this.stringMap$key.get(0), this.stringMap$value.get(0)); break; default : stringMap = new java.util.LinkedHashMap(((this.stringMap$key.size() < 0x40000000) ? ((1 + this.stringMap$key.size()) + ((this.stringMap$key.size() - 3) / 3)) : java.lang.Integer.MAX_VALUE)); for (int $i = 0;; ($i < this.stringMap$key.size()); $i ++) stringMap.put(this.stringMap$key.get($i), this.stringMap$value.get($i)); stringMap = java.util.Collections.unmodifiableMap(stringMap); } return new BuilderSingularMaps(women, men, rawMap, stringMap); } public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { return (((((((((((((((("BuilderSingularMaps.BuilderSingularMapsBuilder(women$key=" + this.women$key) + ", women$value=") + this.women$value) + ", men$key=") + this.men$key) + ", men$value=") + this.men$value) + ", rawMap$key=") + this.rawMap$key) + ", rawMap$value=") + this.rawMap$value) + ", stringMap$key=") + this.stringMap$key) + ", stringMap$value=") + this.stringMap$value) + ")"); } } private @Singular Map women; private @Singular SortedMap men; private @SuppressWarnings("all") @Singular("rawMap") Map rawMap; private @Singular("stringMap") Map stringMap; @java.lang.SuppressWarnings("all") BuilderSingularMaps(final Map women, final SortedMap men, final Map rawMap, final Map stringMap) { super(); this.women = women; this.men = men; this.rawMap = rawMap; this.stringMap = stringMap; } public static @java.lang.SuppressWarnings("all") BuilderSingularMaps.BuilderSingularMapsBuilder builder() { return new BuilderSingularMaps.BuilderSingularMapsBuilder(); } }