/**
*
*/
package net.conselldemallorca.helium.v3.core.api.dto;
/**
* DTO amb informaciĆ³ d'un termini.
*
* @author Limit Tecnologies <limit@limit.es>
*/
public class TerminiDto {
private Long id;
private String codi;
private String nom;
private String descripcio;
private boolean duradaPredefinida;
private int anys;
private int mesos;
private Integer dies;
private boolean laborable;
private boolean manual = true;
private Integer diesPrevisAvis;
private boolean alertaPrevia;
private boolean alertaFinal;
private boolean alertaCompletat;
public TerminiDto() {
super();
this.dies = 0;
}
public TerminiDto(String valor) {
super();
if (valor != null) {
String[] dades = ((String)valor).split("/");
if (dades.length >= 3) {
this.anys = Integer.parseInt(dades[0]);
this.mesos = Integer.parseInt(dades[1]);
this.dies = Integer.parseInt(dades[2]);
}
}
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getCodi() {
return codi;
}
public void setCodi(String codi) {
this.codi = codi;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getDescripcio() {
return descripcio;
}
public void setDescripcio(String descripcio) {
this.descripcio = descripcio;
}
public boolean isDuradaPredefinida() {
return duradaPredefinida;
}
public void setDuradaPredefinida(boolean duradaPredefinida) {
this.duradaPredefinida = duradaPredefinida;
}
public int getAnys() {
return anys;
}
public void setAnys(int anys) {
this.anys = anys;
}
public int getMesos() {
return mesos;
}
public void setMesos(int mesos) {
this.mesos = mesos;
}
public Integer getDies() {
return dies;
}
public void setDies(Integer dies) {
this.dies = dies;
}
public boolean isLaborable() {
return laborable;
}
public void setLaborable(boolean laborable) {
this.laborable = laborable;
}
public boolean isManual() {
return manual;
}
public void setManual(boolean manual) {
this.manual = manual;
}
public Integer getDiesPrevisAvis() {
return diesPrevisAvis;
}
public void setDiesPrevisAvis(Integer diesPrevisAvis) {
this.diesPrevisAvis = diesPrevisAvis;
}
public boolean isAlertaPrevia() {
return alertaPrevia;
}
public void setAlertaPrevia(boolean alertaPrevia) {
this.alertaPrevia = alertaPrevia;
}
public boolean isAlertaFinal() {
return alertaFinal;
}
public void setAlertaFinal(boolean alertaFinal) {
this.alertaFinal = alertaFinal;
}
public boolean isAlertaCompletat() {
return alertaCompletat;
}
public void setAlertaCompletat(boolean alertaCompletat) {
this.alertaCompletat = alertaCompletat;
}
public String getDurada() {
return toString() + ((dies > 0) ? ((laborable) ? " laborables" : " naturals") : "");
}
public String toString() {
StringBuffer sb = new StringBuffer();
boolean plural = false;
if (anys > 0) {
sb.append(anys);
plural = anys > 1;
sb.append((plural) ? " anys": " any");
if (mesos > 0 && dies > 0)
sb.append(", ");
else if (mesos > 0 || dies > 0)
sb.append(" i ");
}
if (mesos > 0) {
sb.append(mesos);
plural = mesos > 1;
sb.append((plural) ? " mesos": " mes");
if (dies > 0)
sb.append(" i ");
}
if (dies != null && dies > 0) {
sb.append(dies);
plural = dies > 1;
sb.append((plural) ? " dies": " dia");
}
return sb.toString();
}
public String toSavinString() {
if (isEmpty())
return null;
return anys + "/" + mesos + "/" + (dies == null ? 0 : dies);
}
public boolean isEmpty() {
return (anys == 0 && mesos == 0 && dies == null);
}
}