/**
*
*/
package net.conselldemallorca.helium.core.model.dto;
import java.util.ArrayList;
import java.util.List;
/**
* DTO amb informaciĆ³ d'un camp indexat per Lucene
*
* @author Limit Tecnologies <limit@limit.es>
*/
public class DadaIndexadaDto {
private String definicioProcesCodi;
private String campCodi;
private String etiqueta;
private boolean ordenarPerValorMostrar = false;
private Object valor;
private String valorIndex;
private String valorMostrar;
private boolean multiple;
private List<Object> valorMultiple;
private List<String> valorIndexMultiple;
private List<String> valorMostrarMultiple;
public DadaIndexadaDto(
String campCodi,
String etiqueta) {
this.campCodi = campCodi;
this.etiqueta = etiqueta;
}
public DadaIndexadaDto(
String definicioProcesCodi,
String campCodi,
String etiqueta) {
this.definicioProcesCodi = definicioProcesCodi;
this.campCodi = campCodi;
this.etiqueta = etiqueta;
}
public String getDefinicioProcesCodi() {
return definicioProcesCodi;
}
public void setDefinicioProcesCodi(String definicioProcesCodi) {
this.definicioProcesCodi = definicioProcesCodi;
}
public String getCampCodi() {
return campCodi;
}
public void setCampCodi(String campCodi) {
this.campCodi = campCodi;
}
public String getEtiqueta() {
return etiqueta;
}
public void setEtiqueta(String etiqueta) {
this.etiqueta = etiqueta;
}
public boolean isOrdenarPerValorMostrar() {
return ordenarPerValorMostrar;
}
public void setOrdenarPerValorMostrar(boolean ordenarPerValorMostrar) {
this.ordenarPerValorMostrar = ordenarPerValorMostrar;
}
public Object getValor() {
return valor;
}
public void setValor(Object valor) {
this.valor = valor;
}
public String getValorIndex() {
return valorIndex;
}
public void setValorIndex(String valorIndex) {
this.valorIndex = valorIndex;
}
public String getValorMostrar() {
return valorMostrar;
}
public void setValorMostrar(String valorMostrar) {
this.valorMostrar = valorMostrar;
}
public boolean isMultiple() {
return multiple;
}
public void setMultiple(boolean multiple) {
this.multiple = multiple;
}
public List<Object> getValorMultiple() {
return valorMultiple;
}
public void setValorMultiple(List<Object> valorMultiple) {
this.valorMultiple = valorMultiple;
}
public List<String> getValorIndexMultiple() {
return valorIndexMultiple;
}
public void setValorIndexMultiple(List<String> valorIndexMultiple) {
this.valorIndexMultiple = valorIndexMultiple;
}
public List<String> getValorMostrarMultiple() {
return valorMostrarMultiple;
}
public void setValorMostrarMultiple(List<String> valorMostrarMultiple) {
this.valorMostrarMultiple = valorMostrarMultiple;
}
public void addValorMultiple(Object valor) {
if (valorMultiple == null)
valorMultiple = new ArrayList<Object>();
valorMultiple.add(valor);
}
public void addValorIndexMultiple(String valor) {
if (valorIndexMultiple == null)
valorIndexMultiple = new ArrayList<String>();
valorIndexMultiple.add(valor);
}
public void addValorMostrarMultiple(String valor) {
if (valorMostrarMultiple == null)
valorMostrarMultiple = new ArrayList<String>();
valorMostrarMultiple.add(valor);
}
public boolean isDadaExpedient() {
return definicioProcesCodi == null;
}
public String getReportFieldName() {
if (definicioProcesCodi != null) {
return definicioProcesCodi + "/" + campCodi;
} else {
return campCodi.replace('$', '%');
}
}
public String getValorMostrarMultipleComText() {
if (getValorMostrarMultiple() == null && getValorMultiple() == null)
return null;
StringBuilder sb = new StringBuilder();
sb.append("[");
if (getValorMostrarMultiple() != null) {
for (int i = 0; i < getValorMostrarMultiple().size(); i++) {
sb.append(getValorMostrarMultiple().get(i));
if (i < getValorMostrarMultiple().size() - 1)
sb.append(", ");
}
} else if (getValorMultiple() != null) {
for (int i = 0; i < getValorMultiple().size(); i++) {
sb.append(getValorMultiple().get(i));
if (i < getValorMultiple().size() - 1)
sb.append(", ");
}
}
sb.append("]");
return sb.toString();
}
public String toString() {
if (isMultiple()) {
return getValorMostrarMultipleComText();
} else {
if (valorMostrar != null)
return valorMostrar;
else if (valor != null)
return valor.toString();
else
return null;
}
}
}