01: package org.vraptor.plugin;
02:
03: import org.vraptor.component.ComponentManager;
04: import org.vraptor.component.ComponentType;
05: import org.vraptor.component.LogicNotFoundException;
06:
07: /**
08: * A visitor to every component which checks the component wrapper to decide
09: * whether they should be wrapped or not.
10: *
11: * @author Guilherme Silveira
12: * @since 2.4
13: */
14: public class ComponentWrapperVisitor {
15:
16: private final ComponentWrapper wrapper;
17:
18: public ComponentWrapperVisitor(ComponentWrapper wrapper) {
19: this .wrapper = wrapper;
20: }
21:
22: public void visit(ComponentManager manager)
23: throws LogicNotFoundException {
24: for (ComponentType component : manager.getComponents()) {
25: if (wrapper.needsToWrap(component)) {
26: manager.register(wrapper.wrap(component));
27: }
28: }
29: }
30:
31: }
|