public Object getFieldValue(JRField field) throws JRException {
//TODO: move the code to return a ValueStackDataSource to a seperate
// method when and if the JRDataSource interface is updated to support
// this.
String expression = field.getDescription();
if (expression == null) {
//Description is optional so use the field name as a default
expression = field.getName();
}
Object value = valueStack.findValue(expression);
if (LOG.isDebugEnabled()) {
LOG.debug("field: " + field.getName() + "/" + value);
}
if (MakeIterator.isIterable(value)) {
// return new ValueStackDataSource(this.valueStack, field.getName());
return new ValueStackDataSource(this.valueStack, expression);
} else {
return value;
}
}
Get the value of a given field |