| 
 | 1 | +// version 21:  | 
 | 2 | +import java.util.SequencedCollection;  | 
 | 3 | +import java.util.SequencedMap;  | 
 | 4 | +import java.util.SequencedSet;  | 
 | 5 | +class BuilderSingularSequencedCollections<T, K, V> {  | 
 | 6 | +	private SequencedCollection<T> sequencedCollection;  | 
 | 7 | +	private SequencedMap<K, V> sequencedMap;  | 
 | 8 | +	private SequencedSet<T> sequencedSet;  | 
 | 9 | +	@java.lang.SuppressWarnings("all")  | 
 | 10 | +	BuilderSingularSequencedCollections(final SequencedCollection<T> sequencedCollection, final SequencedMap<K, V> sequencedMap, final SequencedSet<T> sequencedSet) {  | 
 | 11 | +		this.sequencedCollection = sequencedCollection;  | 
 | 12 | +		this.sequencedMap = sequencedMap;  | 
 | 13 | +		this.sequencedSet = sequencedSet;  | 
 | 14 | +	}  | 
 | 15 | +	@java.lang.SuppressWarnings("all")  | 
 | 16 | +	public static class BuilderSingularSequencedCollectionsBuilder<T, K, V> {  | 
 | 17 | +		@java.lang.SuppressWarnings("all")  | 
 | 18 | +		private java.util.ArrayList<T> sequencedCollection;  | 
 | 19 | +		@java.lang.SuppressWarnings("all")  | 
 | 20 | +		private java.util.ArrayList<K> sequencedMap$key;  | 
 | 21 | +		@java.lang.SuppressWarnings("all")  | 
 | 22 | +		private java.util.ArrayList<V> sequencedMap$value;  | 
 | 23 | +		@java.lang.SuppressWarnings("all")  | 
 | 24 | +		private java.util.ArrayList<T> sequencedSet;  | 
 | 25 | +		@java.lang.SuppressWarnings("all")  | 
 | 26 | +		BuilderSingularSequencedCollectionsBuilder() {  | 
 | 27 | +		}  | 
 | 28 | +		@java.lang.SuppressWarnings("all")  | 
 | 29 | +		public BuilderSingularSequencedCollections.BuilderSingularSequencedCollectionsBuilder<T, K, V> col(final T col) {  | 
 | 30 | +			if (this.sequencedCollection == null) this.sequencedCollection = new java.util.ArrayList<T>();  | 
 | 31 | +			this.sequencedCollection.add(col);  | 
 | 32 | +			return this;  | 
 | 33 | +		}  | 
 | 34 | +		@java.lang.SuppressWarnings("all")  | 
 | 35 | +		public BuilderSingularSequencedCollections.BuilderSingularSequencedCollectionsBuilder<T, K, V> sequencedCollection(final java.util.Collection<? extends T> sequencedCollection) {  | 
 | 36 | +			if (sequencedCollection == null) {  | 
 | 37 | +				throw new java.lang.NullPointerException("sequencedCollection cannot be null");  | 
 | 38 | +			}  | 
 | 39 | +			if (this.sequencedCollection == null) this.sequencedCollection = new java.util.ArrayList<T>();  | 
 | 40 | +			this.sequencedCollection.addAll(sequencedCollection);  | 
 | 41 | +			return this;  | 
 | 42 | +		}  | 
 | 43 | +		@java.lang.SuppressWarnings("all")  | 
 | 44 | +		public BuilderSingularSequencedCollections.BuilderSingularSequencedCollectionsBuilder<T, K, V> clearSequencedCollection() {  | 
 | 45 | +			if (this.sequencedCollection != null) this.sequencedCollection.clear();  | 
 | 46 | +			return this;  | 
 | 47 | +		}  | 
 | 48 | +		@java.lang.SuppressWarnings("all")  | 
 | 49 | +		public BuilderSingularSequencedCollections.BuilderSingularSequencedCollectionsBuilder<T, K, V> map(final K mapKey, final V mapValue) {  | 
 | 50 | +			if (this.sequencedMap$key == null) {  | 
 | 51 | +				this.sequencedMap$key = new java.util.ArrayList<K>();  | 
 | 52 | +				this.sequencedMap$value = new java.util.ArrayList<V>();  | 
 | 53 | +			}  | 
 | 54 | +			this.sequencedMap$key.add(mapKey);  | 
 | 55 | +			this.sequencedMap$value.add(mapValue);  | 
 | 56 | +			return this;  | 
 | 57 | +		}  | 
 | 58 | +		@java.lang.SuppressWarnings("all")  | 
 | 59 | +		public BuilderSingularSequencedCollections.BuilderSingularSequencedCollectionsBuilder<T, K, V> sequencedMap(final java.util.Map<? extends K, ? extends V> sequencedMap) {  | 
 | 60 | +			if (sequencedMap == null) {  | 
 | 61 | +				throw new java.lang.NullPointerException("sequencedMap cannot be null");  | 
 | 62 | +			}  | 
 | 63 | +			if (this.sequencedMap$key == null) {  | 
 | 64 | +				this.sequencedMap$key = new java.util.ArrayList<K>();  | 
 | 65 | +				this.sequencedMap$value = new java.util.ArrayList<V>();  | 
 | 66 | +			}  | 
 | 67 | +			for (final java.util.Map.Entry<? extends K, ? extends V> $lombokEntry : sequencedMap.entrySet()) {  | 
 | 68 | +				this.sequencedMap$key.add($lombokEntry.getKey());  | 
 | 69 | +				this.sequencedMap$value.add($lombokEntry.getValue());  | 
 | 70 | +			}  | 
 | 71 | +			return this;  | 
 | 72 | +		}  | 
 | 73 | +		@java.lang.SuppressWarnings("all")  | 
 | 74 | +		public BuilderSingularSequencedCollections.BuilderSingularSequencedCollectionsBuilder<T, K, V> clearSequencedMap() {  | 
 | 75 | +			if (this.sequencedMap$key != null) {  | 
 | 76 | +				this.sequencedMap$key.clear();  | 
 | 77 | +				this.sequencedMap$value.clear();  | 
 | 78 | +			}  | 
 | 79 | +			return this;  | 
 | 80 | +		}  | 
 | 81 | +		@java.lang.SuppressWarnings("all")  | 
 | 82 | +		public BuilderSingularSequencedCollections.BuilderSingularSequencedCollectionsBuilder<T, K, V> set(final T set) {  | 
 | 83 | +			if (this.sequencedSet == null) this.sequencedSet = new java.util.ArrayList<T>();  | 
 | 84 | +			this.sequencedSet.add(set);  | 
 | 85 | +			return this;  | 
 | 86 | +		}  | 
 | 87 | +		@java.lang.SuppressWarnings("all")  | 
 | 88 | +		public BuilderSingularSequencedCollections.BuilderSingularSequencedCollectionsBuilder<T, K, V> sequencedSet(final java.util.Collection<? extends T> sequencedSet) {  | 
 | 89 | +			if (sequencedSet == null) {  | 
 | 90 | +				throw new java.lang.NullPointerException("sequencedSet cannot be null");  | 
 | 91 | +			}  | 
 | 92 | +			if (this.sequencedSet == null) this.sequencedSet = new java.util.ArrayList<T>();  | 
 | 93 | +			this.sequencedSet.addAll(sequencedSet);  | 
 | 94 | +			return this;  | 
 | 95 | +		}  | 
 | 96 | +		@java.lang.SuppressWarnings("all")  | 
 | 97 | +		public BuilderSingularSequencedCollections.BuilderSingularSequencedCollectionsBuilder<T, K, V> clearSequencedSet() {  | 
 | 98 | +			if (this.sequencedSet != null) this.sequencedSet.clear();  | 
 | 99 | +			return this;  | 
 | 100 | +		}  | 
 | 101 | +		@java.lang.SuppressWarnings("all")  | 
 | 102 | +		public BuilderSingularSequencedCollections<T, K, V> build() {  | 
 | 103 | +			java.util.SequencedCollection<T> sequencedCollection;  | 
 | 104 | +			switch (this.sequencedCollection == null ? 0 : this.sequencedCollection.size()) {  | 
 | 105 | +			case 0:  | 
 | 106 | +				sequencedCollection = java.util.Collections.emptyList();  | 
 | 107 | +				break;  | 
 | 108 | +			case 1:  | 
 | 109 | +				sequencedCollection = java.util.Collections.singletonList(this.sequencedCollection.get(0));  | 
 | 110 | +				break;  | 
 | 111 | +			default:  | 
 | 112 | +				sequencedCollection = java.util.Collections.unmodifiableList(new java.util.ArrayList<T>(this.sequencedCollection));  | 
 | 113 | +			}  | 
 | 114 | +			java.util.SequencedMap<K, V> sequencedMap = new java.util.LinkedHashMap<K, V>();  | 
 | 115 | +			if (this.sequencedMap$key != null) for (int $i = 0; $i < (this.sequencedMap$key == null ? 0 : this.sequencedMap$key.size()); $i++) sequencedMap.put(this.sequencedMap$key.get($i), (V) this.sequencedMap$value.get($i));  | 
 | 116 | +			sequencedMap = java.util.Collections.unmodifiableSequencedMap(sequencedMap);  | 
 | 117 | +			java.util.SequencedSet<T> sequencedSet = new java.util.LinkedHashSet<T>();  | 
 | 118 | +			if (this.sequencedSet != null) sequencedSet.addAll(this.sequencedSet);  | 
 | 119 | +			sequencedSet = java.util.Collections.unmodifiableSequencedSet(sequencedSet);  | 
 | 120 | +			return new BuilderSingularSequencedCollections<T, K, V>(sequencedCollection, sequencedMap, sequencedSet);  | 
 | 121 | +		}  | 
 | 122 | +		@java.lang.Override  | 
 | 123 | +		@java.lang.SuppressWarnings("all")  | 
 | 124 | +		public java.lang.String toString() {  | 
 | 125 | +			return "BuilderSingularSequencedCollections.BuilderSingularSequencedCollectionsBuilder(sequencedCollection=" + this.sequencedCollection + ", sequencedMap$key=" + this.sequencedMap$key + ", sequencedMap$value=" + this.sequencedMap$value + ", sequencedSet=" + this.sequencedSet + ")";  | 
 | 126 | +		}  | 
 | 127 | +	}  | 
 | 128 | +	@java.lang.SuppressWarnings("all")  | 
 | 129 | +	public static <T, K, V> BuilderSingularSequencedCollections.BuilderSingularSequencedCollectionsBuilder<T, K, V> builder() {  | 
 | 130 | +		return new BuilderSingularSequencedCollections.BuilderSingularSequencedCollectionsBuilder<T, K, V>();  | 
 | 131 | +	}  | 
 | 132 | +}  | 
0 commit comments