@@ -80,6 +80,7 @@ public class U<T> {
8080 private static final Map <Character , String > ESCAPES = new HashMap <>();
8181 private final Iterable <T > iterable ;
8282 private final Optional <String > string ;
83+ private final Optional <Map <String , Object >> map ;
8384
8485 static {
8586 TEMPLATE_SETTINGS .put (EVALUATE , "<%([\\ s\\ S]+?)%>" );
@@ -96,11 +97,19 @@ public class U<T> {
9697 public U (final Iterable <T > iterable ) {
9798 this .iterable = iterable ;
9899 this .string = Optional .absent ();
100+ this .map = Optional .absent ();
99101 }
100102
101103 public U (final String string ) {
102104 this .iterable = null ;
103105 this .string = Optional .of (string );
106+ this .map = Optional .absent ();
107+ }
108+
109+ public U (final Map <String , Object > map ) {
110+ this .iterable = null ;
111+ this .string = Optional .absent ();
112+ this .map = Optional .of (map );
104113 }
105114
106115 private static void setTemplateKey (final Map <String , String > templateSettings , final String key ) {
@@ -2625,6 +2634,10 @@ public static <T> Chain<T> chain(final List<T> list) {
26252634 return new U .Chain <>(list );
26262635 }
26272636
2637+ public static Chain <Map <String , Object >> chain (final Map <String , Object > map ) {
2638+ return new U .Chain <>(map );
2639+ }
2640+
26282641 public static <T > Chain <T > chain (final Iterable <T > iterable ) {
26292642 return new U .Chain <>(newArrayList (iterable ));
26302643 }
@@ -2674,13 +2687,21 @@ public Chain<T> of() {
26742687 public static class Chain <T > {
26752688 private final T item ;
26762689 private final List <T > list ;
2690+ private final Map <String , Object > map ;
26772691 public Chain (final T item ) {
26782692 this .item = item ;
26792693 this .list = null ;
2694+ this .map = null ;
26802695 }
26812696 public Chain (final List <T > list ) {
26822697 this .item = null ;
26832698 this .list = list ;
2699+ this .map = null ;
2700+ }
2701+ public Chain (final Map <String , Object > map ) {
2702+ this .item = null ;
2703+ this .list = null ;
2704+ this .map = map ;
26842705 }
26852706
26862707 public Chain <T > first () {
@@ -3099,6 +3120,10 @@ public List<T> value() {
30993120 return list ;
31003121 }
31013122
3123+ public Map <String , Object > map () {
3124+ return map ;
3125+ }
3126+
31023127 public List <T > toList () {
31033128 return list ;
31043129 }
@@ -3407,6 +3432,10 @@ public Iterable<T> value() {
34073432 return iterable ;
34083433 }
34093434
3435+ public Optional <Map <String , Object >> map () {
3436+ return map ;
3437+ }
3438+
34103439 public Optional <String > getString () {
34113440 return string ;
34123441 }
0 commit comments