77 */
88package org .seedstack .coffig ;
99
10- import static org .seedstack .shed .reflect .Classes .instantiateDefault ;
11- import static org .seedstack .shed .reflect .Types .rawClassOf ;
10+ import org .seedstack .coffig .internal .ConfigurationErrorCode ;
11+ import org .seedstack .coffig .internal .ConfigurationException ;
12+ import org .seedstack .coffig .node .MapNode ;
13+ import org .seedstack .coffig .node .UnmodifiableTreeNode ;
14+ import org .seedstack .coffig .spi .ConfigurationMapper ;
15+ import org .seedstack .coffig .spi .ConfigurationProcessor ;
16+ import org .seedstack .coffig .spi .ConfigurationProvider ;
17+ import org .seedstack .coffig .spi .ConfigurationWatcher ;
18+ import org .slf4j .Logger ;
19+ import org .slf4j .LoggerFactory ;
1220
1321import java .lang .reflect .AnnotatedElement ;
1422import java .lang .reflect .Type ;
2331import java .util .Optional ;
2432import java .util .Set ;
2533import java .util .TreeMap ;
26- import org .seedstack .coffig .internal .ConfigurationErrorCode ;
27- import org .seedstack .coffig .internal .ConfigurationException ;
28- import org .seedstack .coffig .node .MapNode ;
29- import org .seedstack .coffig .node .UnmodifiableTreeNode ;
30- import org .seedstack .coffig .spi .ConfigurationMapper ;
31- import org .seedstack .coffig .spi .ConfigurationProcessor ;
32- import org .seedstack .coffig .spi .ConfigurationProvider ;
33- import org .seedstack .coffig .spi .ConfigurationWatcher ;
34- import org .slf4j .Logger ;
35- import org .slf4j .LoggerFactory ;
34+
35+ import static org .seedstack .shed .reflect .Classes .instantiateDefault ;
36+ import static org .seedstack .shed .reflect .Types .rawClassOf ;
3637
3738public class Coffig {
3839 private static final Logger LOGGER = LoggerFactory .getLogger (Coffig .class );
@@ -41,6 +42,7 @@ public class Coffig {
4142 private final ConfigurationProcessor processor ;
4243 private final Map <String , List <ConfigChangeListener >> listeners = new TreeMap <>(Comparator .reverseOrder ());
4344 private final Set <ConfigurationWatcher > configurationWatchers = new HashSet <>();
45+ private boolean toStringMapping = true ;
4446 private volatile boolean dirty = true ;
4547 private volatile TreeNode configurationTree = new MapNode ();
4648
@@ -65,6 +67,14 @@ public class Coffig {
6567 }
6668 }
6769
70+ public boolean isToStringMapping () {
71+ return toStringMapping ;
72+ }
73+
74+ public void setToStringMapping (boolean toStringMapping ) {
75+ this .toStringMapping = toStringMapping ;
76+ }
77+
6878 public static CoffigBuilder builder () {
6979 return new CoffigBuilder ();
7080 }
@@ -230,7 +240,15 @@ public TreeNode getTree() {
230240
231241 @ Override
232242 public String toString () {
233- return "---\n " + configurationTree .toString ();
243+ if (toStringMapping ) {
244+ return toMappedString ();
245+ } else {
246+ return "---\n " + configurationTree .toString ();
247+ }
248+ }
249+
250+ public String toMappedString () {
251+ return "---\n " + configurationTree .toMappedString (mapper );
234252 }
235253
236254 public ConfigurationMapper getMapper () {
0 commit comments