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 }