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.content2bean.impl;
35
36 import info.magnolia.cms.core.Content;
37 import info.magnolia.content2bean.TransformationState;
38 import info.magnolia.content2bean.TypeDescriptor;
39
40 import javax.inject.Singleton;
41
42 import org.apache.commons.collections4.ArrayStack;
43
44
45
46
47
48
49
50 @Deprecated
51 @Singleton
52 public class TransformationStateImpl implements TransformationState {
53
54 protected ArrayStack typeStack = new ArrayStack();
55
56 protected ArrayStack beanStack = new ArrayStack();
57
58 protected ArrayStack contentStack = new ArrayStack();
59
60 @Override
61 public Object getCurrentBean() {
62 return beanStack.peek();
63 }
64
65 @Override
66 public void setCurrentBean(Object bean) {
67 beanStack.set(beanStack.size() - 1, bean);
68 }
69
70 @Override
71 public TypeDescriptor getCurrentType() {
72 return (TypeDescriptor) typeStack.peek();
73 }
74
75 @Override
76 public Content getCurrentContent() {
77 return (Content) contentStack.peek();
78 }
79
80 @Override
81 public Object peekBean(int pos) {
82 return beanStack.peek(pos);
83 }
84
85 @Override
86 public TypeDescriptor peekType(int pos) {
87 return (TypeDescriptor) typeStack.peek(pos);
88 }
89
90 @Override
91 public Content peekContent(int pos) {
92 return (Content) contentStack.peek(pos);
93 }
94
95 @Override
96 public void popBean() {
97 beanStack.pop();
98 }
99
100 @Override
101 public void popType() {
102 typeStack.pop();
103 }
104
105 @Override
106 public void popContent() {
107 contentStack.pop();
108 }
109
110 @Override
111 public void pushBean(Object bean) {
112 beanStack.push(bean);
113 }
114
115 @Override
116 public void pushType(TypeDescriptor type) {
117 typeStack.push(type);
118 }
119
120 @Override
121 public void pushContent(Content node) {
122 contentStack.push(node);
123 }
124
125 @Override
126 public int getLevel() {
127 return Math.max(Math.max(typeStack.size(), beanStack.size()), contentStack.size());
128 }
129 }