RandomSec/src/main/java/com/metaweb/gridworks/expr/HasFieldsListImpl.java

35 lines
1.0 KiB
Java
Raw Normal View History

package com.metaweb.gridworks.expr;
import java.util.ArrayList;
import java.util.Properties;
public class HasFieldsListImpl extends ArrayList<HasFields> implements HasFieldsList {
private static final long serialVersionUID = -8635194387420305802L;
public Object getField(String name, Properties bindings) {
int c = size();
if (c > 0 && get(0).fieldAlsoHasFields(name)) {
HasFieldsListImpl l = new HasFieldsListImpl();
for (int i = 0; i < size(); i++) {
l.add(i, (HasFields) this.get(i).getField(name, bindings));
}
return l;
} else {
Object[] r = new Object[this.size()];
for (int i = 0; i < r.length; i++) {
r[i] = this.get(i).getField(name, bindings);
}
return r;
}
}
public int length() {
return size();
}
public boolean fieldAlsoHasFields(String name) {
int c = size();
return (c > 0 && get(0).fieldAlsoHasFields(name));
}
}