1919
2020public class Templates implements Renderers {
2121 private final Function2 <? super String , ? super Renderers , ? extends Renderer <?>> missing ;
22- private final ConcurrentMap <String , Renderer <Object >> renderers = new ConcurrentHashMap <>() ;
23- private volatile CompositeRenderer implicits = CompositeRenderer . compositeRenderer () ;
22+ private final ConcurrentMap <String , Renderer <Object >> renderers ;
23+ private volatile CompositeRenderer implicits ;
2424
25- private Templates (Function2 <? super String , ? super Renderers , ? extends Renderer <?>> missing ) {
25+ public Templates (Function2 <? super String , ? super Renderers , ? extends Renderer <?>> missing , ConcurrentMap < String , Renderer < Object >> renderers , CompositeRenderer implicits ) {
2626 this .missing = missing ;
27+ this .renderers = renderers ;
28+ this .implicits = implicits ;
2729 }
2830
2931 public static Templates templates () {
@@ -43,7 +45,7 @@ public static Templates templates(Renderers parent) {
4345 }
4446
4547 public static Templates templates (Function2 <? super String , ? super Renderers , ? extends Renderer <?>> missing ) {
46- return new Templates (missing );
48+ return new Templates (missing , new ConcurrentHashMap <>(), CompositeRenderer . compositeRenderer () );
4749 }
4850
4951 public Templates addDefault () {
@@ -82,7 +84,7 @@ public Renderer<Object> get(String name) {
8284 }
8385
8486 public Templates extension (String value ) {
85- return new Templates ((s , r ) -> missing .apply (s + "." + value , r ));
87+ return new Templates ((s , r ) -> missing .apply (s + "." + value , r ), renderers , implicits );
8688 }
8789
8890 public Templates logger (Appendable logger ) {
@@ -93,6 +95,6 @@ public Templates logger(Appendable logger) {
9395 logger .append (format ("Unable to load template '%s' because: %s%n" , s , e .getMessage ()));
9496 return (instance , appendable ) -> appendable ;
9597 }
96- });
98+ }, renderers , implicits );
9799 }
98100}
0 commit comments