01: package com.calipso.reportgenerator.reportcalculator;
02:
03: import java.io.Serializable;
04:
05: /**
06: * Filtro sobre Cube. Criterio que se utiliza para incluir las rows
07: */
08: public abstract class CubeFilter implements Serializable {
09: public CubeFilter() {
10: }
11:
12: /**
13: * Se utiliza para generar la condición de una consulta OQL en los pre-filtros
14: * @return
15: */
16: public abstract String getOqlText();
17:
18: /**
19: * Se utiliza para evaluar si una row cumple con los filtros
20: * Estos pueden ser pre-filtros en el caso del XMLReportDataSource
21: * O post-filtros cuando se procesan las rows que se reciben del pivot
22: * @see com.calipso.reportgenerator.reportmanager.XmlReportDataSource
23: * @see com.calipso.reportgenerator.reportcalculator.Pivot
24: * @param row
25: * @return
26: */
27: public abstract boolean matches(Object[] row);
28:
29: }
|