001    package railo.runtime.type;
002    
003    import java.util.Iterator;
004    
005    import railo.runtime.PageContext;
006    import railo.runtime.dump.DumpData;
007    import railo.runtime.dump.DumpProperties;
008    import railo.runtime.exp.PageException;
009    import railo.runtime.op.Duplicator;
010    import railo.runtime.type.dt.DateTime;
011    import railo.runtime.type.util.StructSupport;
012    
013    public final class CollectionStruct extends StructSupport implements ObjectWrap,Struct {
014    
015            private final Collection coll;
016    
017            public CollectionStruct(Collection coll) {
018                    this.coll=coll;
019            }
020    
021            @Override
022            public void clear() {
023                    coll.clear();
024            }
025    
026            @Override
027            public boolean containsKey(Key key) {
028                    return coll.containsKey(key);
029            }
030    
031            @Override
032            public Collection duplicate(boolean deepCopy) {
033                    return (Collection) Duplicator.duplicate(coll,deepCopy);
034            }
035            
036    
037            @Override
038            public Object get(Key key) throws PageException {
039                    return coll.get(key);
040            }
041    
042            @Override
043            public Object get(Key key, Object defaultValue) {
044                    return coll.get(key, defaultValue);
045            }
046    
047            @Override
048            public Key[] keys() {
049                    return coll.keys();
050            }
051    
052            @Override
053            public Object remove(Key key) throws PageException {
054                    return coll.remove(key);
055            }
056    
057            @Override
058            public Object removeEL(Key key) {
059                    return coll.removeEL(key);
060            }
061    
062            @Override
063            public Object set(Key key, Object value) throws PageException {
064                    return coll.set(key, value);
065            }
066    
067            @Override
068            public Object setEL(Key key, Object value) {
069                    return coll.setEL(key, value);
070            }
071    
072            @Override
073            public int size() {
074                    return coll.size();
075            }
076    
077            @Override
078            public Iterator<Collection.Key> keyIterator() {
079                    return coll.keyIterator();
080            }
081        
082            @Override
083            public Iterator<String> keysAsStringIterator() {
084            return coll.keysAsStringIterator();
085        }
086            
087            @Override
088            public Iterator<Entry<Key, Object>> entryIterator() {
089                    return coll.entryIterator();
090            }
091            
092            @Override
093            public Iterator<Object> valueIterator() {
094                    return coll.valueIterator();
095            }
096            
097    
098            @Override
099            public DumpData toDumpData(PageContext pageContext, int maxlevel,DumpProperties properties) {
100                    return coll.toDumpData(pageContext, maxlevel, properties);
101            }
102    
103            @Override
104        public boolean castToBooleanValue() throws PageException {
105            return coll.castToBooleanValue();
106        }
107    
108        @Override
109        public double castToDoubleValue() throws PageException {
110            return coll.castToDoubleValue();
111        }
112    
113    
114        @Override
115        public DateTime castToDateTime() throws PageException {
116            return coll.castToDateTime();
117        }
118    
119        @Override
120        public String castToString() throws PageException {
121                    return coll.castToString();
122        }
123    
124    
125            @Override
126            public int compareTo(boolean b) throws PageException {
127                    return coll.compareTo(b);
128            }
129    
130            @Override
131            public int compareTo(DateTime dt) throws PageException {
132                    return coll.compareTo(dt);
133            }
134    
135            @Override
136            public int compareTo(double d) throws PageException {
137                    return coll.compareTo(d);
138            }
139    
140            @Override
141            public int compareTo(String str) throws PageException {
142                    return coll.compareTo(str);
143            }
144    
145            @Override
146            public Object getEmbededObject(Object defaultValue) {
147                    return coll;
148            }
149    
150            @Override
151            public Object getEmbededObject() throws PageException {
152                    return coll;
153            }
154    
155            /**
156             * @return
157             */
158            public Collection getCollection() {
159                    return coll;
160            }
161    }