From a372f05e41910ed86b5d9d2d6cfd43ad1f964a24 Mon Sep 17 00:00:00 2001 From: qza Date: Thu, 2 Jun 2016 07:27:35 +0200 Subject: [PATCH] #355 override toString to log properties --- .../abstractdocument/AbstractDocument.java | 55 +++++++++++-------- 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/abstract-document/src/main/java/com/iluwatar/abstractdocument/AbstractDocument.java b/abstract-document/src/main/java/com/iluwatar/abstractdocument/AbstractDocument.java index d4aa8ed5b..c3f8e2a4b 100644 --- a/abstract-document/src/main/java/com/iluwatar/abstractdocument/AbstractDocument.java +++ b/abstract-document/src/main/java/com/iluwatar/abstractdocument/AbstractDocument.java @@ -8,31 +8,42 @@ import java.util.stream.Stream; public abstract class AbstractDocument implements Document { - private final Map properties; + private final Map properties; - protected AbstractDocument(Map properties) { - Objects.requireNonNull(properties, "properties map is required"); - this.properties = properties; - } + protected AbstractDocument(Map properties) { + Objects.requireNonNull(properties, "properties map is required"); + this.properties = properties; + } - @Override - public Void put(String key, Object value) { - properties.put(key, value); - return null; - } + @Override + public Void put(String key, Object value) { + properties.put(key, value); + return null; + } - @Override - public Object get(String key) { - return properties.get(key); - } + @Override + public Object get(String key) { + return properties.get(key); + } - @Override - public Stream children(String key, Function, T> constructor) { - return Stream.of(get(key)) - .filter(el -> el != null) - .map(el -> (List>) el) - .findFirst().get().stream() - .map(constructor); - } + @Override + public Stream children(String key, Function, T> constructor) { + return Stream.of(get(key)) + .filter(el -> el != null) + .map(el -> (List>) el) + .findAny().get().stream() + .map(constructor); + } + + @Override + public String toString() { + final StringBuilder builder = new StringBuilder(); + builder.append(getClass().getName()).append("["); + properties.entrySet().forEach(e -> + builder.append("[").append(e.getKey()).append(" : ").append(e.getValue()).append("]") + ); + builder.append("]"); + return builder.toString(); + } }