1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.jcr.decoration;
35
36 import info.magnolia.jcr.wrapper.DelegateNodeWrapper;
37
38 import javax.jcr.Node;
39 import javax.jcr.NodeIterator;
40 import javax.jcr.Property;
41 import javax.jcr.PropertyIterator;
42 import javax.jcr.Session;
43 import javax.jcr.Workspace;
44 import javax.jcr.version.Version;
45 import javax.jcr.version.VersionHistory;
46 import javax.jcr.version.VersionIterator;
47 import javax.jcr.version.VersionManager;
48
49
50
51
52
53 public abstract class AbstractContentDecorator implements ContentDecorator {
54
55 @Override
56 public Session wrapSession(Session session) {
57 return new ContentDecoratorSessionWrapper(session, this);
58 }
59
60 @Override
61 public Workspace wrapWorkspace(Workspace workspace) {
62 return new ContentDecoratorWorkspaceWrapper(workspace, this);
63 }
64
65 @Override
66 public Node wrapNode(Node node) {
67 return new ContentDecoratorNodeWrapper(node, this);
68 }
69
70 @Override
71 public NodeIterator wrapNodeIterator(NodeIterator nodeIterator) {
72 return new ContentDecoratorNodeIterator(nodeIterator, this);
73 }
74
75 @Override
76 public boolean evaluateNode(Node node) {
77 return true;
78 }
79
80 @Override
81 public Property wrapProperty(Property property) {
82 return new ContentDecoratorPropertyWrapper(property, this);
83 }
84
85 @Override
86 public PropertyIterator wrapPropertyIterator(PropertyIterator propertyIterator) {
87 return new ContentDecoratorPropertyIterator(propertyIterator, this);
88 }
89
90 @Override
91 public boolean evaluateProperty(Property property) {
92 return true;
93 }
94
95 @Override
96 public Version wrapVersion(Version version) {
97 return new ContentDecoratorVersionWrapper(version, this);
98 }
99
100 @Override
101 public VersionIterator wrapVersionIterator(VersionIterator versionIterator) {
102 return new ContentDecoratorVersionIterator(versionIterator, this);
103 }
104
105 @Override
106 public VersionHistory wrapVersionHistory(VersionHistory versionHistory) {
107 return new ContentDecoratorVersionHistoryWrapper(versionHistory, this);
108 }
109
110 @Override
111 public VersionManager wrapVersionManager(VersionManager versionManager) {
112 return new ContentDecoratorVersionManagerWrapper(versionManager, this);
113 }
114
115
116
117
118 protected boolean isDecorating(Node node) {
119 if (node instanceof ContentDecoratorNodeWrappera/jcr/decoration/ContentDecoratorNodeWrapper.html#ContentDecoratorNodeWrapper">ContentDecoratorNodeWrapper && ((ContentDecoratorNodeWrapper) node).getContentDecorator().getClass().equals(this.getClass())) {
120 return true;
121 }
122 if (node instanceof DelegateNodeWrapper) {
123 return isDecorating(((DelegateNodeWrapper) node).getWrappedNode());
124 }
125 return false;
126 }
127 }