1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.nosql.appender.mongodb;
18
19 import java.util.Collections;
20
21 import org.apache.logging.log4j.nosql.appender.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 Object value) {
38 this.mongoObject.append(field, value);
39 }
40
41 @Override
42 public void set(final String field, final NoSqlObject<BasicDBObject> value) {
43 this.mongoObject.append(field, value.unwrap());
44 }
45
46 @Override
47 public void set(final String field, final Object[] values) {
48 final BasicDBList list = new BasicDBList();
49 Collections.addAll(list, values);
50 this.mongoObject.append(field, list);
51 }
52
53 @Override
54 public void set(final String field, final NoSqlObject<BasicDBObject>[] values) {
55 final BasicDBList list = new BasicDBList();
56 for (final NoSqlObject<BasicDBObject> value : values) {
57 list.add(value.unwrap());
58 }
59 this.mongoObject.append(field, list);
60 }
61
62 @Override
63 public BasicDBObject unwrap() {
64 return this.mongoObject;
65 }
66 }