001: package com.calipso.reportgenerator.common;
002:
003: import com.calipso.reportgenerator.reportdefinitions.DrillDownDefinition;
004: import com.calipso.reportgenerator.reportdefinitions.DimensionBind;
005: import com.calipso.reportgenerator.reportdefinitions.ParameterBind;
006: import com.calipso.reportgenerator.reportdefinitions.types.DrillDownDefinitionTypeType;
007:
008: import java.util.List;
009: import java.util.ArrayList;
010: import java.util.Enumeration;
011: import java.io.Serializable;
012:
013: /**
014: * Explota informacion para visualizarla de forma mas detallada
015: */
016:
017: public class DrillDownSpec implements Serializable {
018: private String description;
019: private String name;
020: private String targetReportDefinitionID;
021: private DrillDownDefinitionTypeType type;
022: private List dimensionBindSpecs;
023: private List parameterBindSpecs;
024:
025: /**
026: * Llena los parametros.
027: * @param drillDownDefinition
028: */
029: public void fillFrom(DrillDownDefinition drillDownDefinition) {
030: description = drillDownDefinition.getDescription();
031: name = drillDownDefinition.getName();
032: type = drillDownDefinition.getType();
033: targetReportDefinitionID = drillDownDefinition
034: .getTargetReportDefinitionID();
035: dimensionBindSpecs = new ArrayList();
036: Enumeration dimensionBindEnum = drillDownDefinition
037: .enumerateDimensionBind();
038: while (dimensionBindEnum.hasMoreElements()) {
039: DimensionBind dimensionBind = (DimensionBind) dimensionBindEnum
040: .nextElement();
041: DimensionBindSpec dimensionBindSpec = new DimensionBindSpec();
042: dimensionBindSpec.fillFrom(dimensionBind);
043: dimensionBindSpecs.add(dimensionBindSpec);
044: }
045: parameterBindSpecs = new ArrayList();
046: Enumeration parameterBindEnum = drillDownDefinition
047: .enumerateParameterBind();
048: while (parameterBindEnum.hasMoreElements()) {
049: ParameterBind parameterBind = (ParameterBind) parameterBindEnum
050: .nextElement();
051: ParameterBindSpec parameterBindSpec = new ParameterBindSpec();
052: parameterBindSpec.fillFrom(parameterBind);
053: parameterBindSpecs.add(parameterBindSpec);
054: }
055: }
056:
057: /**
058: * Retorna la descripcion
059: * @return
060: */
061: public String getDescription() {
062: return description;
063: }
064:
065: /**
066: * Retorna el nombre.
067: * @return
068: */
069: public String getName() {
070: return name;
071: }
072:
073: /**
074: * Retorna el id del <code>ReportDefinition</code> target.
075: * @return
076: */
077: public String getTargetReportDefinitionID() {
078: return targetReportDefinitionID;
079: }
080:
081: /**
082: * Retorna una lista con las instancias de <code>DimensionBindSpecs</code>
083: * @return
084: */
085: public List getDimensionBindSpecs() {
086: return dimensionBindSpecs;
087: }
088:
089: /**
090: * * Retorna una lista con las instancias de <code>ParameterBindSpecs</code>
091: * @return
092: */
093: public List getParameterBindSpecs() {
094: return parameterBindSpecs;
095: }
096:
097: public void setType(DrillDownDefinitionTypeType type) {
098: this .type = type;
099: }
100:
101: public DrillDownDefinitionTypeType getType() {
102: return type;
103: }
104: }
|