2323 */
2424public class DimensionSet {
2525 private static final int MAX_DIMENSION_SET_SIZE = 9 ;
26-
26+
2727 private final Map <String , String > dimensions = new LinkedHashMap <>();
2828
2929 /**
@@ -54,7 +54,7 @@ public static DimensionSet of(String key1, String value1, String key2, String va
5454 dimensionSet .addDimension (key2 , value2 );
5555 return dimensionSet ;
5656 }
57-
57+
5858 /**
5959 * Create a dimension set with three key-value pairs
6060 *
@@ -73,7 +73,7 @@ public static DimensionSet of(String key1, String value1, String key2, String va
7373 dimensionSet .addDimension (key3 , value3 );
7474 return dimensionSet ;
7575 }
76-
76+
7777 /**
7878 * Create a dimension set with four key-value pairs
7979 *
@@ -87,16 +87,16 @@ public static DimensionSet of(String key1, String value1, String key2, String va
8787 * @param value4 fourth dimension value
8888 * @return a new DimensionSet
8989 */
90- public static DimensionSet of (String key1 , String value1 , String key2 , String value2 ,
91- String key3 , String value3 , String key4 , String value4 ) {
90+ public static DimensionSet of (String key1 , String value1 , String key2 , String value2 ,
91+ String key3 , String value3 , String key4 , String value4 ) {
9292 DimensionSet dimensionSet = new DimensionSet ();
9393 dimensionSet .addDimension (key1 , value1 );
9494 dimensionSet .addDimension (key2 , value2 );
9595 dimensionSet .addDimension (key3 , value3 );
9696 dimensionSet .addDimension (key4 , value4 );
9797 return dimensionSet ;
9898 }
99-
99+
100100 /**
101101 * Create a dimension set with five key-value pairs
102102 *
@@ -112,9 +112,9 @@ public static DimensionSet of(String key1, String value1, String key2, String va
112112 * @param value5 fifth dimension value
113113 * @return a new DimensionSet
114114 */
115- public static DimensionSet of (String key1 , String value1 , String key2 , String value2 ,
116- String key3 , String value3 , String key4 , String value4 ,
117- String key5 , String value5 ) {
115+ public static DimensionSet of (String key1 , String value1 , String key2 , String value2 ,
116+ String key3 , String value3 , String key4 , String value4 ,
117+ String key5 , String value5 ) {
118118 DimensionSet dimensionSet = new DimensionSet ();
119119 dimensionSet .addDimension (key1 , value1 );
120120 dimensionSet .addDimension (key2 , value2 );
@@ -135,7 +135,7 @@ public static DimensionSet of(Map<String, String> dimensions) {
135135 dimensions .forEach (dimensionSet ::addDimension );
136136 return dimensionSet ;
137137 }
138-
138+
139139 /**
140140 * Add a dimension to this dimension set
141141 *
@@ -147,15 +147,16 @@ public static DimensionSet of(Map<String, String> dimensions) {
147147 */
148148 public DimensionSet addDimension (String key , String value ) {
149149 validateDimension (key , value );
150-
150+
151151 if (dimensions .size () >= MAX_DIMENSION_SET_SIZE ) {
152- throw new IllegalStateException ("Cannot exceed " + MAX_DIMENSION_SET_SIZE + " dimensions per dimension set" );
152+ throw new IllegalStateException (
153+ "Cannot exceed " + MAX_DIMENSION_SET_SIZE + " dimensions per dimension set" );
153154 }
154-
155+
155156 dimensions .put (key , value );
156157 return this ;
157158 }
158-
159+
159160 /**
160161 * Get the dimension keys in this dimension set
161162 *
@@ -164,7 +165,7 @@ public DimensionSet addDimension(String key, String value) {
164165 public Set <String > getDimensionKeys () {
165166 return dimensions .keySet ();
166167 }
167-
168+
168169 /**
169170 * Get the value for a dimension key
170171 *
@@ -176,21 +177,21 @@ public String getDimensionValue(String key) {
176177 }
177178
178179 /**
179- * Get the dimensions as a map
180+ * Get the dimensions as a map. Creates a shallow copy
180181 *
181182 * @return map of dimensions
182183 */
183184 public Map <String , String > getDimensions () {
184185 return new LinkedHashMap <>(dimensions );
185186 }
186-
187+
187188 private void validateDimension (String key , String value ) {
188189 if (key == null || key .isEmpty ()) {
189190 throw new IllegalArgumentException ("Dimension key cannot be null or empty" );
190191 }
191-
192+
192193 if (value == null ) {
193194 throw new IllegalArgumentException ("Dimension value cannot be null" );
194195 }
195196 }
196- }
197+ }
0 commit comments