package no.difi.datahotel.model; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; /** * The class creates a Field object that represent the fields in the dataset, in * XML format */ @XmlAccessorType(XmlAccessType.NONE) @XmlRootElement public class Field implements Light<FieldLight> { @XmlElement private String name; @XmlElement private String shortName; @XmlElement private boolean groupable = false; @XmlElement private boolean searchable = false; @XmlElement private boolean indexPrimaryKey = false; @XmlElement private String content; @XmlElement private Definition definition; private String defShort; private Metadata metadata; public Field() { } public Field(String shortName, boolean searchable) { this.shortName = shortName; this.searchable = searchable; } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean getGroupable() { return groupable; } public void setGroupable(boolean groupable) { this.groupable = groupable; } public String getContent() { return content; } public void setContent(String metadata) { this.content = metadata; } public void setSearchable(boolean searchable) { this.searchable = searchable; } public boolean getSearchable() { return searchable; } public void setIndexPrimaryKey(boolean indexPrimaryKey) { this.indexPrimaryKey = indexPrimaryKey; } public boolean getIndexPrimaryKey() { return indexPrimaryKey; } public String getDefShort() { return defShort; } public void setDefShort(String defShort) { this.defShort = defShort; } public void setDefinition(Definition definition) { this.definition = definition; } @XmlTransient public Definition getDefinition() { return definition; } public void setShortName(String shortName) { this.shortName = shortName; } public String getShortName() { return shortName; } @XmlTransient public Metadata getMetadata() { return metadata; } public void setMetadata(Metadata metadata) { this.metadata = metadata; } @Override public boolean equals(Object o) { if (o == this) return true; if (o == null || !(o instanceof Field)) return false; Field f = (Field) o; if (shortName != null && !shortName.equals(f.shortName)) return false; // TODO Make better return true; } @Override public FieldLight light() { return new FieldLight(this); } }