48
48
* @author Cedric Boes (@cb0s), Ludwig Richter (@fussel178)
49
49
* @see de.wuespace.telestion.api.verticle.trait.WithEventBus
50
50
*/
51
- public class HeaderInformation {
51
+ public class HeaderInformation implements MultiMap {
52
52
53
53
///////////////////////////////////////////////////////////////////////////
54
54
// utilities
@@ -201,6 +201,16 @@ public DeliveryOptions toOptions() {
201
201
// getters
202
202
///////////////////////////////////////////////////////////////////////////
203
203
204
+ @ Override
205
+ public String get (CharSequence name ) {
206
+ return headers .get (name );
207
+ }
208
+
209
+ @ Override
210
+ public String get (String name ) {
211
+ return headers .get (name );
212
+ }
213
+
204
214
/**
205
215
* Returns the first stored value assigned to the key as {@link String}.
206
216
* If no value is assigned to the key, an {@link Optional#empty() empty Optional} is returned instead.
@@ -209,7 +219,7 @@ public DeliveryOptions toOptions() {
209
219
* @return the first stored value wrapped inside an {@link Optional} for better {@code null} type safety
210
220
* @see MultiMap#get(String)
211
221
*/
212
- public Optional <String > get (String key ) {
222
+ public Optional <String > getString (String key ) {
213
223
return Optional .ofNullable (headers .get (key ));
214
224
}
215
225
@@ -222,8 +232,8 @@ public Optional<String> get(String key) {
222
232
* @return the first stored value or the default value if no value is assigned to the key
223
233
* @see MultiMap#get(String)
224
234
*/
225
- public String get (String key , String defaultValue ) {
226
- return get (key ).orElse (defaultValue );
235
+ public String getString (String key , String defaultValue ) {
236
+ return getString (key ).orElse (defaultValue );
227
237
}
228
238
229
239
/**
@@ -235,7 +245,7 @@ public String get(String key, String defaultValue) {
235
245
* @see MultiMap#get(String)
236
246
*/
237
247
public Optional <Byte > getByte (String key ) {
238
- return get (key ).map (safeParse (Byte ::parseByte ));
248
+ return getString (key ).map (safeParse (Byte ::parseByte ));
239
249
}
240
250
241
251
/**
@@ -260,7 +270,7 @@ public byte getByte(String key, byte defaultValue) {
260
270
* @see MultiMap#get(String)
261
271
*/
262
272
public Optional <Integer > getInt (String key ) {
263
- return get (key ).map (safeParse (Integer ::parseInt ));
273
+ return getString (key ).map (safeParse (Integer ::parseInt ));
264
274
}
265
275
266
276
/**
@@ -285,7 +295,7 @@ public int getInt(String key, int defaultValue) {
285
295
* @see MultiMap#get(String)
286
296
*/
287
297
public Optional <Long > getLong (String key ) {
288
- return get (key ).map (safeParse (Long ::parseLong ));
298
+ return getString (key ).map (safeParse (Long ::parseLong ));
289
299
}
290
300
291
301
/**
@@ -310,7 +320,7 @@ public long getLong(String key, long defaultValue) {
310
320
* @see MultiMap#get(String)
311
321
*/
312
322
public Optional <Float > getFloat (String key ) {
313
- return get (key ).map (safeParse (Float ::parseFloat ));
323
+ return getString (key ).map (safeParse (Float ::parseFloat ));
314
324
}
315
325
316
326
/**
@@ -335,7 +345,7 @@ public float getFloat(String key, float defaultValue) {
335
345
* @see MultiMap#get(String)
336
346
*/
337
347
public Optional <Double > getDouble (String key ) {
338
- return get (key ).map (safeParse (Double ::parseDouble ));
348
+ return getString (key ).map (safeParse (Double ::parseDouble ));
339
349
}
340
350
341
351
/**
@@ -360,7 +370,7 @@ public double getDouble(String key, double defaultValue) {
360
370
* @see MultiMap#get(String)
361
371
*/
362
372
public Optional <Character > getChar (String key ) {
363
- return get (key ).map (value -> value .length () == 1 ? value .charAt (0 ) : null );
373
+ return getString (key ).map (value -> value .length () == 1 ? value .charAt (0 ) : null );
364
374
}
365
375
366
376
/**
@@ -385,7 +395,7 @@ public char getChar(String key, char defaultValue) {
385
395
* @see MultiMap#get(String)
386
396
*/
387
397
public Optional <Boolean > getBoolean (String key ) {
388
- return get (key ).map (Boolean ::parseBoolean );
398
+ return getString (key ).map (Boolean ::parseBoolean );
389
399
}
390
400
391
401
/**
@@ -412,6 +422,11 @@ public List<String> getAll(String key) {
412
422
return headers .getAll (key );
413
423
}
414
424
425
+ @ Override
426
+ public List <String > getAll (CharSequence name ) {
427
+ return headers .getAll (name );
428
+ }
429
+
415
430
///////////////////////////////////////////////////////////////////////////
416
431
// adders
417
432
///////////////////////////////////////////////////////////////////////////
@@ -548,6 +563,26 @@ public HeaderInformation addAll(Map<String, String> headers) {
548
563
return this ;
549
564
}
550
565
566
+ @ Override
567
+ public MultiMap set (String name , String value ) {
568
+ return headers .set (name , value );
569
+ }
570
+
571
+ @ Override
572
+ public MultiMap set (CharSequence name , CharSequence value ) {
573
+ return headers .set (name , value );
574
+ }
575
+
576
+ @ Override
577
+ public MultiMap set (String name , Iterable <String > values ) {
578
+ return headers .set (name , values );
579
+ }
580
+
581
+ @ Override
582
+ public MultiMap set (CharSequence name , Iterable <CharSequence > values ) {
583
+ return headers .set (name , values );
584
+ }
585
+
551
586
/**
552
587
* Appends all values assigned to their keys from the {@link HeaderInformation} object to already existing values.
553
588
* Returns a reference to {@code this} for fluent design.
@@ -728,6 +763,11 @@ public boolean contains(String key) {
728
763
return headers .contains (key );
729
764
}
730
765
766
+ @ Override
767
+ public boolean contains (CharSequence name ) {
768
+ return headers .contains (name );
769
+ }
770
+
731
771
/**
732
772
* Removes all values assigned to the key.
733
773
* Returns a reference to {@code this} for fluent design.
@@ -741,6 +781,11 @@ public HeaderInformation remove(String key) {
741
781
return this ;
742
782
}
743
783
784
+ @ Override
785
+ public MultiMap remove (CharSequence name ) {
786
+ return headers .remove (name );
787
+ }
788
+
744
789
/**
745
790
* Clears all values assigned to their keys.
746
791
* Returns a reference to {@code this} for fluent design.
@@ -773,6 +818,26 @@ public Set<String> names() {
773
818
return headers .names ();
774
819
}
775
820
821
+ @ Override
822
+ public MultiMap add (String name , String value ) {
823
+ return headers .add (name , value );
824
+ }
825
+
826
+ @ Override
827
+ public MultiMap add (CharSequence name , CharSequence value ) {
828
+ return headers .add (name , value );
829
+ }
830
+
831
+ @ Override
832
+ public MultiMap add (String name , Iterable <String > values ) {
833
+ return headers .add (name , values );
834
+ }
835
+
836
+ @ Override
837
+ public MultiMap add (CharSequence name , Iterable <CharSequence > values ) {
838
+ return headers .add (name , values );
839
+ }
840
+
776
841
/**
777
842
* Returns {@code true}, if the wrapped {@link MultiMap Vert.x headers} have no entries.
778
843
*
@@ -877,4 +942,9 @@ private static <T, R> Function<T, R> safeParse(Function<T, R> func) {
877
942
}
878
943
879
944
private static final Logger logger = LoggerFactory .getLogger (HeaderInformation .class );
945
+
946
+ @ Override
947
+ public Iterator <Map .Entry <String , String >> iterator () {
948
+ return headers .iterator ();
949
+ }
880
950
}
0 commit comments