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