1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.mongodb4;
18
19 import java.util.Arrays;
20
21 import org.apache.logging.log4j.core.appender.nosql.NoSqlObject;
22 import org.bson.Document;
23
24
25
26
27
28 public final class MongoDb4DocumentObject implements NoSqlObject<Document> {
29 private final Document document;
30
31 public MongoDb4DocumentObject() {
32 this.document = new Document();
33 }
34
35 @Override
36 public void set(final String field, final NoSqlObject<Document> value) {
37 this.document.append(field, value.unwrap());
38 }
39
40 @Override
41 public void set(final String field, final NoSqlObject<Document>[] values) {
42 this.document.append(field, Arrays.asList(values));
43 }
44
45 @Override
46 public void set(final String field, final Object value) {
47 this.document.append(field, value);
48 }
49
50 @Override
51 public void set(final String field, final Object[] values) {
52 this.document.append(field, Arrays.asList(values));
53 }
54
55 @Override
56 public String toString() {
57 return String.format("Mongo4DocumentObject [document=%s]", document);
58 }
59
60 @Override
61 public Document unwrap() {
62 return this.document;
63 }
64 }