139 lines
4.3 KiB
Java
139 lines
4.3 KiB
Java
package entities.xmlmodels.viewstyledefinition;
|
|
|
|
import org.w3c.dom.Document;
|
|
import org.w3c.dom.Element;
|
|
|
|
import entities.xmlmodels.modeldefinition.DatabaseModelDefinition;
|
|
import models.components.commons.ViewStyle;
|
|
import models.components.commons.Visibility;
|
|
import models.components.commons.datafield.FieldData;
|
|
import utilities.XmlSerializable;
|
|
import utilities.builders.ModelBuilder;
|
|
|
|
public class Field implements DatabaseViewStyleDefinition,XmlSerializable<Field>{
|
|
private String id;
|
|
private int ordinal;
|
|
private boolean defaultVisibility;
|
|
private String title;
|
|
private String description;
|
|
private String extendedDescription;
|
|
private ViewStyle viewStyle;
|
|
private Visibility visible;
|
|
private FieldData data;
|
|
public String getId() {
|
|
return id;
|
|
}
|
|
public void setId(String id) {
|
|
this.id = id;
|
|
}
|
|
public int getOrdinal() {
|
|
return ordinal;
|
|
}
|
|
public void setOrdinal(int ordinal) {
|
|
this.ordinal = ordinal;
|
|
}
|
|
public boolean isDefaultVisibility() {
|
|
return defaultVisibility;
|
|
}
|
|
public void setDefaultVisibility(boolean defaultVisibility) {
|
|
this.defaultVisibility = defaultVisibility;
|
|
}
|
|
public String getTitle() {
|
|
return title;
|
|
}
|
|
public void setTitle(String title) {
|
|
this.title = title;
|
|
}
|
|
public String getDescription() {
|
|
return description;
|
|
}
|
|
public void setDescription(String description) {
|
|
this.description = description;
|
|
}
|
|
public String getExtendedDescription() {
|
|
return extendedDescription;
|
|
}
|
|
public void setExtendedDescription(String extendedDescription) {
|
|
this.extendedDescription = extendedDescription;
|
|
}
|
|
public ViewStyle getViewStyle() {
|
|
return viewStyle;
|
|
}
|
|
public void setViewStyle(ViewStyle viewStyle) {
|
|
this.viewStyle = viewStyle;
|
|
}
|
|
|
|
public FieldData getData() {
|
|
return data;
|
|
}
|
|
public void setData(FieldData data) {
|
|
this.data = data;
|
|
}
|
|
|
|
public Visibility getVisible() {
|
|
return visible;
|
|
}
|
|
public void setVisible(Visibility visible) {
|
|
this.visible = visible;
|
|
}
|
|
@Override
|
|
public Element toXml(Document doc) {
|
|
Element rootElement = doc.createElement("field");
|
|
rootElement.setAttribute("id", this.id);
|
|
rootElement.setAttribute("ordinal", ""+this.ordinal);
|
|
rootElement.setAttribute("defaultVisibility",""+this.defaultVisibility);
|
|
|
|
Element extendedDescription = doc.createElement("extendedDescription");
|
|
extendedDescription.setTextContent(this.extendedDescription);
|
|
|
|
Element description = doc.createElement("description");
|
|
description.setTextContent(this.description);
|
|
|
|
Element title = doc.createElement("title");
|
|
title.setTextContent(this.title);
|
|
|
|
Element viewStyle = doc.createElement("viewStyle");
|
|
viewStyle.setAttribute("renderstyle", this.viewStyle.getRenderStyle());
|
|
viewStyle.setAttribute("cssClass", this.viewStyle.getCssClass());
|
|
|
|
Element visibility = this.visible.toXml(doc);
|
|
|
|
rootElement.appendChild(title);
|
|
rootElement.appendChild(visibility);
|
|
rootElement.appendChild(extendedDescription);
|
|
rootElement.appendChild(viewStyle);
|
|
rootElement.appendChild(description);
|
|
if(this.data!=null)rootElement.appendChild(this.data.toXml(doc));
|
|
return rootElement;
|
|
}
|
|
@Override
|
|
public Field fromXml(Element element) {
|
|
this.id = element.getAttribute("id");
|
|
this.ordinal = Integer.parseInt(element.getAttribute("ordinal"));
|
|
this.defaultVisibility = Boolean.getBoolean(element.getAttribute("defaultVisibility"));
|
|
|
|
Element extendedDescription = (Element)element.getElementsByTagName("extendedDescription").item(0);
|
|
this.extendedDescription = extendedDescription.getTextContent();
|
|
|
|
Element description = (Element)element.getElementsByTagName("description").item(0);
|
|
this.description = description.getTextContent();
|
|
|
|
Element title = (Element)element.getElementsByTagName("title").item(0);
|
|
this.title = title.getTextContent();
|
|
|
|
this.viewStyle = new ViewStyle();
|
|
Element viewStyle = (Element)element.getElementsByTagName("viewStyle").item(0);
|
|
this.viewStyle.setRenderStyle(viewStyle.getAttribute("renderstyle"));
|
|
this.viewStyle.setCssClass(viewStyle.getAttribute("cssClass"));
|
|
|
|
Element visibility = (Element)element.getElementsByTagName("visible").item(0);
|
|
this.visible = new Visibility().fromXml(visibility);
|
|
|
|
Element dataElement = (Element)element.getElementsByTagName("data").item(0);
|
|
this.data = new ModelBuilder().toFieldData(null, this.viewStyle.getRenderStyle());
|
|
if(this.data!=null)this.data.fromXml(dataElement);
|
|
return this;
|
|
}
|
|
|
|
}
|