/**
* Este arquivo é parte do Biblivre3.
*
* Biblivre3 é um software livre; você pode redistribuí-lo e/ou
* modificá-lo dentro dos termos da Licença Pública Geral GNU como
* publicada pela Fundação do Software Livre (FSF); na versão 3 da
* Licença, ou (caso queira) qualquer versão posterior.
*
* Este programa é distribuído na esperança de que possa ser útil,
* mas SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de
* MERCANTIBILIDADE OU ADEQUAÇÃO PARA UM FIM PARTICULAR. Veja a
* Licença Pública Geral GNU para maiores detalhes.
*
* Você deve ter recebido uma cópia da Licença Pública Geral GNU junto
* com este programa, Se não, veja em <http://www.gnu.org/licenses/>.
*
* @author Alberto Wagner <alberto@biblivre.org.br>
* @author Danniel Willian <danniel@biblivre.org.br>
*
*/
package biblivre3.cataloging.vocabulary;
import java.util.Date;
import java.util.List;
import java.util.Properties;
import mercury.DTO;
import mercury.I18nUtils;
import org.json.JSONException;
import org.json.JSONObject;
public class VocabularyDTO extends DTO {
private Integer serial;
private String iso2709;
private Date created;
private Date modified;
transient private String term;
transient private String controlField;
transient private List<String[]> fields;
transient private String marc;
transient private JSONObject json;
public Integer getSerial() {
return serial;
}
public void setSerial(Integer serial) {
this.serial = serial;
}
public String getTerm() {
return term;
}
public void setTerm(String term) {
this.term = term;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public Date getModified() {
return modified;
}
public void setModified(Date modified) {
this.modified = modified;
}
public String getIso2709() {
return iso2709;
}
public void setIso2709(String iso2709) {
this.iso2709 = iso2709;
}
public List<String[]> getFields() {
return fields;
}
public void setFields(List<String[]> fields) {
this.fields = fields;
}
public JSONObject getJson() {
return json;
}
public void setJson(JSONObject json) {
this.json = json;
}
public String getMarc() {
return marc;
}
public void setMarc(String marc) {
this.marc = marc;
}
public String getControlField() {
return controlField;
}
public void setControlField(String controlField) {
this.controlField = controlField;
}
@Override
public JSONObject toJSONObject(Properties properties) {
JSONObject data = super.toJSONObject(properties);
try {
data.remove("fields");
if (this.getFields() != null) {
for (String[] field : this.getFields()) {
JSONObject jsonField = new JSONObject();
jsonField.put("field", field[0]);
jsonField.put("label", I18nUtils.getText(properties, field[0]));
jsonField.put("value", field[1]);
data.append("fields", jsonField);
}
}
if (this.getJson() != null) {
data.put("data", this.getJson());
}
if (this.getMarc() != null) {
data.put("data", this.getMarc());
}
} catch (JSONException e) {}
return data;
}
}