1 package org.apache.commons.digester3.annotations;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.HashSet;
23 import java.util.Set;
24
25 import org.apache.commons.digester3.binder.LinkedRuleBuilder;
26 import org.apache.commons.digester3.binder.RulesBinder;
27 import org.apache.commons.digester3.binder.RulesModule;
28
29
30
31
32
33
34
35 final class WithMemoryRulesBinder
36 implements RulesBinder
37 {
38
39
40
41
42 private final Set<Class<?>> boundClasses = new HashSet<Class<?>>();
43
44 private final RulesBinder wrappedRulesBinder;
45
46 public WithMemoryRulesBinder( final RulesBinder wrappedRulesBinder )
47 {
48 this.wrappedRulesBinder = wrappedRulesBinder;
49 }
50
51
52
53
54 public ClassLoader getContextClassLoader()
55 {
56 return wrappedRulesBinder.getContextClassLoader();
57 }
58
59
60
61
62 public void addError( String messagePattern, Object... arguments )
63 {
64 wrappedRulesBinder.addError( messagePattern, arguments );
65 }
66
67
68
69
70 public void addError( Throwable t )
71 {
72 wrappedRulesBinder.addError( t );
73 }
74
75
76
77
78 public void install( RulesModule rulesModule )
79 {
80 wrappedRulesBinder.install( rulesModule );
81 }
82
83
84
85
86 public LinkedRuleBuilder forPattern( String pattern )
87 {
88 return wrappedRulesBinder.forPattern( pattern );
89 }
90
91
92
93
94
95
96
97 public boolean markAsBound( Class<?> bindingClass )
98 {
99 return boundClasses.add( bindingClass );
100 }
101
102
103
104
105
106
107
108 public boolean isAlreadyBound( Class<?> bindingClass )
109 {
110 return boundClasses.contains( bindingClass );
111 }
112
113 }