1 package com.calipso.reportgenerator.reportcalculator.expression; 2 3 /** 4 * Tipo especializado de Context que obtiene los valores del contexto 5 * a partir de un Object[] que se obtiene de una row del IDataSource 6 * Para esto las expresiones están construidas de modo que las referencias sean los índices de la columna 7 * correspondiente en la row. 8 * @see com.calipso.reportgenerator.common.ReportFilter 9 * @see com.calipso.reportgenerator.common.ReportFilterBuilder 10 */ 11 public class RowContext extends Context { 12 private Object[] row; 13 14 /** 15 * Crea un contexto a partir de un Object[] 16 * @param row 17 */ 18 public RowContext(Object[] row) { 19 this.row = row; 20 } 21 22 /** 23 * Devuelve el valor para una referencia, asumiendo que la misma es un entero que representa al índice de columna 24 * de la row 25 * @param reference 26 * @return 27 */ 28 public Object valueFor(Object reference) { 29 return row[((Integer) reference).intValue()]; 30 } 31 32 } 33