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