001: package com.calipso.reportgenerator.common;
002:
003: import com.calipso.reportgenerator.reportdefinitions.types.DimensionDefinitionOrderType;
004: import com.calipso.reportgenerator.reportdefinitions.types.DimensionDefinitionLocationType;
005:
006: import java.io.Serializable;
007:
008: /**
009: * Esta clase contiene toda la información referente a una dimensión necesaria para ejecutar una consulta (<code>ReportQuery</code>)
010: */
011:
012: public class QueryDimension implements Serializable {
013:
014: private String name;
015: private int index;
016: private DimensionDefinitionLocationType location;
017: private int locationOrder;
018: private DimensionDefinitionOrderType order;
019: private boolean groups;
020: private String rankMetricName;
021:
022: /**
023: * Inicializa un objeto QueryDimension
024: * @param name nombre del la dimensión
025: * @param index indice del campo en el registro de la matriz
026: * @param location ubicación el la que agrupa (<code>LocationType.ROW, LocationType.COLUMN, LocationType.PAGE</code>)
027: * @param order tipo de ordenamiento de los valores de la dimensión (ascendente/descendente)
028: * @param locationOrder número utilizado para ordener las dimensiones en cada una de las ubicaciones de agrupción (location)
029: */
030: public QueryDimension(String name, int index,
031: DimensionDefinitionLocationType location,
032: DimensionDefinitionOrderType order, int locationOrder,
033: boolean groups, String rankMetricName) {
034: this .name = name;
035: this .index = index;
036: this .location = location;
037: this .order = order;
038: this .rankMetricName = rankMetricName;
039: this .locationOrder = locationOrder;
040: this .groups = groups;
041: }
042:
043: /**
044: * Retorna el nombre
045: * @return
046: */
047: public String getName() {
048: return name;
049: }
050:
051: /**
052: * Retorna el índice
053: * @return
054: */
055: public int getIndex() {
056: return index;
057: }
058:
059: /**
060: * Retorna el location type
061: * @return
062: */
063: public DimensionDefinitionLocationType getLocation() {
064: return location;
065: }
066:
067: /**
068: * Retorna el Order
069: * @return
070: */
071: public DimensionDefinitionOrderType getOrder() {
072: if (order == null) {
073: return DimensionDefinitionOrderType.A;
074: }
075: return order;
076: }
077:
078: /**
079: * Asigna el location type
080: * @param location
081: */
082: public void setLocation(DimensionDefinitionLocationType location) {
083: this .location = location;
084: }
085:
086: /**
087: * Asigna el Order
088: * @param order
089: */
090: public void setOrder(DimensionDefinitionOrderType order) {
091: this .order = order;
092: }
093:
094: /**
095: * Devuelve el location Order
096: * @return
097: */
098: public int getLocationOrder() {
099: return locationOrder;
100: }
101:
102: /**
103: * Asigna el location order
104: * @param locationOrder
105: */
106: public void setLocationOrder(int locationOrder) {
107: this .locationOrder = locationOrder;
108: }
109:
110: /**
111: * Asigna las propiedades
112: * @param location
113: * @param order
114: * @param locationOrder
115: * @param rankMetricName
116: */
117: public void setProperties(DimensionDefinitionLocationType location,
118: DimensionDefinitionOrderType order, int locationOrder,
119: String rankMetricName) {
120: if (location != null) {
121: this .location = location;
122: }
123: if (order != null) {
124: this .order = order;
125: }
126: if (locationOrder >= 0) {
127: this .locationOrder = locationOrder;
128: }
129: if (rankMetricName != null) {
130: this .rankMetricName = rankMetricName;
131: }
132: }
133:
134: public boolean getGroups() {
135: return groups;
136: }
137:
138: public void setGroups(boolean groups) {
139: this .groups = groups;
140: }
141:
142: public String getRankMetricName() {
143: return rankMetricName;
144: }
145:
146: public void setRankMetricName(String rankMetricName) {
147: this.rankMetricName = rankMetricName;
148: }
149:
150: }
|