1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.settings4j.objectresolver;
21
22 import org.apache.commons.lang3.Validate;
23 import org.settings4j.ContentResolver;
24 import org.settings4j.Filter;
25 import org.settings4j.ObjectResolver;
26
27
28
29
30
31
32 public class FilteredObjectResolverWrapper implements ObjectResolver {
33
34 private final ObjectResolver targetObjectResolver;
35 private final Filter filter;
36
37
38
39
40
41
42 public FilteredObjectResolverWrapper(final ObjectResolver targetObjectResolver, final Filter filter) {
43 super();
44 Validate.notNull(targetObjectResolver, "FilteredObjectResolverWrapper needs a ObjectResolver Object");
45 Validate.notNull(filter, "FilteredObjectResolverWrapper needs a Filter Object");
46 this.targetObjectResolver = targetObjectResolver;
47 this.filter = filter;
48 }
49
50 @Override
51 public void addObjectResolver(final ObjectResolver objectResolver) {
52 this.targetObjectResolver.addObjectResolver(objectResolver);
53 }
54
55 @Override
56 public Object getObject(final String key, final ContentResolver contentResolver) {
57 if (!this.filter.isValid(key)) {
58 return null;
59 }
60 return this.targetObjectResolver.getObject(key, contentResolver);
61 }
62 }