1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.mongodb3;
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 public final class MongoDbDocumentObject implements NoSqlObject<Document> {
28 private final Document document;
29
30 public MongoDbDocumentObject() {
31 this.document = new Document();
32 }
33
34 @Override
35 public void set(final String field, final NoSqlObject<Document> value) {
36 this.document.append(field, value.unwrap());
37 }
38
39 @Override
40 public void set(final String field, final NoSqlObject<Document>[] values) {
41 this.document.append(field, Arrays.asList(values));
42 }
43
44 @Override
45 public void set(final String field, final Object value) {
46 this.document.append(field, value);
47 }
48
49 @Override
50 public void set(final String field, final Object[] values) {
51 this.document.append(field, Arrays.asList(values));
52 }
53
54 @Override
55 public Document unwrap() {
56 return this.document;
57 }
58 }