Revision 2648
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/util/ContainerUtils.java | ||
---|---|---|
76 | 76 |
if( x instanceof Object[] ) { |
77 | 77 |
return ((Object[])x).length; |
78 | 78 |
} |
79 |
if( x instanceof Iterator ) { |
|
80 |
long i = 0; |
|
81 |
while( ((Iterator) x).hasNext() ) { |
|
82 |
((Iterator) x).next(); |
|
83 |
i++; |
|
84 |
} |
|
85 |
return i; |
|
86 |
} |
|
87 |
if( x instanceof Iterable ) { |
|
88 |
Iterator it = ((Iterable)x).iterator(); |
|
89 |
long i = 0; |
|
90 |
while( ((Iterator) it).hasNext() ) { |
|
91 |
((Iterator) it).next(); |
|
92 |
i++; |
|
93 |
} |
|
94 |
return i; |
|
95 |
} |
|
79 | 96 |
return -1; |
80 | 97 |
} |
81 | 98 |
|
... | ... | |
118 | 135 |
if( x instanceof Object[] ) { |
119 | 136 |
return ((Object[])x).length; |
120 | 137 |
} |
138 |
if( x instanceof Iterator ) { |
|
139 |
int i = 0; |
|
140 |
while( ((Iterator) x).hasNext() ) { |
|
141 |
((Iterator) x).next(); |
|
142 |
i++; |
|
143 |
} |
|
144 |
return i; |
|
145 |
} |
|
146 |
if( x instanceof Iterable ) { |
|
147 |
Iterator it = ((Iterable)x).iterator(); |
|
148 |
int i = 0; |
|
149 |
while( ((Iterator) it).hasNext() ) { |
|
150 |
((Iterator) it).next(); |
|
151 |
i++; |
|
152 |
} |
|
153 |
return i; |
|
154 |
} |
|
121 | 155 |
return -1; |
122 | 156 |
} |
123 | 157 |
|
... | ... | |
143 | 177 |
if( x instanceof Map) { |
144 | 178 |
return ((Map)x).isEmpty(); |
145 | 179 |
} |
180 |
if( x instanceof Iterator ) { |
|
181 |
return ((Iterator) x).hasNext(); |
|
182 |
} |
|
183 |
if( x instanceof Iterable ) { |
|
184 |
Iterator it = ((Iterable)x).iterator(); |
|
185 |
return it.hasNext(); |
|
186 |
} |
|
146 | 187 |
return defaultValue; |
147 | 188 |
} |
148 | 189 |
|
... | ... | |
190 | 231 |
return null; |
191 | 232 |
} |
192 | 233 |
|
234 |
public static Object get64(Object x, Object key) { |
|
235 |
return get(x,key); |
|
236 |
} |
|
237 |
|
|
193 | 238 |
public static Object get(GetItem x, int position) { |
194 | 239 |
return x.get(position); |
195 | 240 |
} |
... | ... | |
217 | 262 |
if( x instanceof Map ) { |
218 | 263 |
return ((Map)x).get(key); |
219 | 264 |
} |
265 |
if( key instanceof Number ) { |
|
266 |
if( x instanceof GetItem ) { |
|
267 |
return ((GetItem)x).get(((Number) key).intValue()); |
|
268 |
} |
|
269 |
if( x instanceof List) { |
|
270 |
return ((List)x).get(((Number) key).intValue()); |
|
271 |
} |
|
272 |
if( x instanceof GetItem64) { |
|
273 |
return ((GetItem64)x).get64(((Number) key).longValue()); |
|
274 |
} |
|
275 |
if( x instanceof Object[] ) { |
|
276 |
return ((Object[])x)[((Number) key).intValue()]; |
|
277 |
} |
|
278 |
} |
|
220 | 279 |
return null; |
221 | 280 |
} |
222 | 281 |
|
Also available in: Unified diff