001    package railo.runtime.type.trace;
002    
003    import java.util.List;
004    
005    import railo.runtime.debug.Debugger;
006    import railo.runtime.exp.PageException;
007    import railo.runtime.type.Array;
008    import railo.runtime.type.Collection;
009    
010    public class TOArray extends TOCollection implements Array {
011    
012            private static final long serialVersionUID = 5130217962217368552L;
013            
014            private final Array arr;
015    
016            protected TOArray(Debugger debugger,Array arr,int type,String category,String text) {
017                    super(debugger,arr, type, category, text);
018                    this.arr=arr;
019            }
020    
021            /* (non-Javadoc)
022             * @see railo.runtime.type.Array#getDimension()
023             */
024            public int getDimension() {
025                    log();
026                    return arr.getDimension();
027            }
028    
029            /* (non-Javadoc)
030             * @see railo.runtime.type.Array#get(int, java.lang.Object)
031             */
032            public Object get(int key, Object defaultValue) {
033                    log(""+key);
034                    return arr.get(key, defaultValue);
035                    //return TraceObjectSupport.toTraceObject(debugger,arr.get(key, defaultValue),type,category,text);
036            }
037    
038            /* (non-Javadoc)
039             * @see railo.runtime.type.Array#getE(int)
040             */
041            public Object getE(int key) throws PageException {
042                    log(""+key);
043                    return arr.getE(key);
044                    //return TraceObjectSupport.toTraceObject(debugger,arr.getE(key),type,category,text);
045            }
046    
047            /* (non-Javadoc)
048             * @see railo.runtime.type.Array#setEL(int, java.lang.Object)
049             */
050            public Object setEL(int key, Object value) {
051                    log(""+key,value);
052                    return arr.setEL(key, value);
053                    //return TraceObjectSupport.toTraceObject(debugger,arr.setEL(key, value),type,category,text);
054            }
055    
056            /* (non-Javadoc)
057             * @see railo.runtime.type.Array#setE(int, java.lang.Object)
058             */
059            public Object setE(int key, Object value) throws PageException {
060                    log(""+key,value);
061                    return arr.setEL(key, value);
062                    //return TraceObjectSupport.toTraceObject(debugger,arr.setEL(key, value),type,category,text);
063            }
064    
065            /* (non-Javadoc)
066             * @see railo.runtime.type.Array#intKeys()
067             */
068            public int[] intKeys() {
069                    log();
070                    return arr.intKeys();
071            }
072    
073            /* (non-Javadoc)
074             * @see railo.runtime.type.Array#insert(int, java.lang.Object)
075             */
076            public boolean insert(int key, Object value) throws PageException {
077                    log(""+key);
078                    return arr.insert(key, value);
079            }
080    
081            /* (non-Javadoc)
082             * @see railo.runtime.type.Array#append(java.lang.Object)
083             */
084            public Object append(Object o) throws PageException {
085                    log(o.toString());
086                    return arr.append(o);
087                    //return TraceObjectSupport.toTraceObject(debugger,arr.append(o),type,category,text);
088            }
089    
090            /* (non-Javadoc)
091             * @see railo.runtime.type.Array#appendEL(java.lang.Object)
092             */
093            public Object appendEL(Object o) {
094                    log(o.toString());
095                    return arr.appendEL(o);
096                    //return TraceObjectSupport.toTraceObject(debugger,arr.appendEL(o),type,category,text);
097            }
098    
099            /* (non-Javadoc)
100             * @see railo.runtime.type.Array#prepend(java.lang.Object)
101             */
102            public Object prepend(Object o) throws PageException {
103                    log();
104                    return arr.prepend(o);
105                    //return TraceObjectSupport.toTraceObject(debugger,arr.prepend(o),type,category,text);
106            }
107    
108            /* (non-Javadoc)
109             * @see railo.runtime.type.Array#resize(int)
110             */
111            public void resize(int to) throws PageException {
112                    log();
113                    arr.resize(to);
114            }
115    
116            /* (non-Javadoc)
117             * @see railo.runtime.type.Array#sort(java.lang.String, java.lang.String)
118             */
119            public void sort(String sortType, String sortOrder) throws PageException {
120                    log();
121                    arr.sort(sortType, sortOrder);
122            }
123    
124            /* (non-Javadoc)
125             * @see railo.runtime.type.Array#toArray()
126             */
127            public Object[] toArray() {
128                    log();
129                    return arr.toArray();
130            }
131    
132            /* (non-Javadoc)
133             * @see railo.runtime.type.Array#toList()
134             */
135            public List toList() {
136                    log();
137                    return arr.toList();
138            }
139    
140            /* (non-Javadoc)
141             * @see railo.runtime.type.Array#removeE(int)
142             */
143            public Object removeE(int key) throws PageException {
144                    log(""+key);
145                    return arr.removeE(key);
146                    //return TraceObjectSupport.toTraceObject(debugger,arr.removeE(key),type,category,text);
147            }
148    
149            /* (non-Javadoc)
150             * @see railo.runtime.type.Array#removeEL(int)
151             */
152            public Object removeEL(int key) {
153                    log(""+key);
154                    return arr.removeEL(key);
155                    //return TraceObjectSupport.toTraceObject(debugger,arr.removeEL(key),type,category,text);
156            }
157    
158            /* (non-Javadoc)
159             * @see railo.runtime.type.Array#containsKey(int)
160             */
161            public boolean containsKey(int key) {
162                    log(""+key);
163                    return arr.containsKey(key);
164            }
165    
166            public Collection duplicate(boolean deepCopy) {
167                    log();
168                    return new TOArray(debugger,(Array)arr.duplicate(deepCopy),type,category,text);
169            }
170    
171    }