import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-
import java.util.HashMap;
import java.util.Map;
+import java.util.Map.Entry;
public class Document {
- private Map<String, Object> fields = new HashMap<String, Object>();
-
- @JsonAnyGetter
- public Map<String, Object> getFields() {
- return fields;
- }
-
- @JsonAnySetter
- public void setField(String name, Object value) {
- fields.put(name, value);
- }
-
- public String toJson() throws JsonProcessingException {
+ private Map<String, Object> fields = new HashMap<>();
- ObjectMapper mapper = new ObjectMapper();
- return mapper.writeValueAsString(this);
- }
+ @JsonAnyGetter
+ public Map<String, Object> getFields() {
+ return fields;
+ }
+ @JsonAnySetter
+ public void setField(String name, Object value) {
+ fields.put(name, value);
+ }
- @Override
- public String toString() {
- String str = "Document: [";
- for (String key : fields.keySet()) {
- str += key + ": " + fields.get(key);
+ public String toJson() throws JsonProcessingException {
+ return new ObjectMapper().writeValueAsString(this);
}
- str += "]";
- return str;
- }
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder("Document: [");
+ for (Entry<String, Object> entry : fields.entrySet()) {
+ sb.append(entry.getKey()).append(": ").append(entry.getValue());
+ }
+ sb.append("]");
+ return sb.toString();
+ }
}