1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.mongodb2;
18
19 import java.util.Collections;
20
21 import org.apache.logging.log4j.core.appender.nosql.NoSqlObject;
22
23 import com.mongodb.BasicDBList;
24 import com.mongodb.BasicDBObject;
25
26
27
28
29 public final class MongoDbObject implements NoSqlObject<BasicDBObject> {
30 private final BasicDBObject mongoObject;
31
32 public MongoDbObject() {
33 this.mongoObject = new BasicDBObject();
34 }
35
36 @Override
37 public void set(final String field, final NoSqlObject<BasicDBObject> value) {
38 this.mongoObject.append(field, value.unwrap());
39 }
40
41 @Override
42 public void set(final String field, final NoSqlObject<BasicDBObject>[] values) {
43 final BasicDBList list = new BasicDBList();
44 for (final NoSqlObject<BasicDBObject> value : values) {
45 list.add(value.unwrap());
46 }
47 this.mongoObject.append(field, list);
48 }
49
50 @Override
51 public void set(final String field, final Object value) {
52 this.mongoObject.append(field, value);
53 }
54
55 @Override
56 public void set(final String field, final Object[] values) {
57 final BasicDBList list = new BasicDBList();
58 Collections.addAll(list, values);
59 this.mongoObject.append(field, list);
60 }
61
62 @Override
63 public BasicDBObject unwrap() {
64 return this.mongoObject;
65 }
66 }