/*
* #%L
* gitools-biomart
* %%
* Copyright (C) 2013 Universitat Pompeu Fabra - Biomedical Genomics group
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
* #L%
*/
package org.gitools.datasources.biomart.restful.model;
import org.slf4j.LoggerFactory;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.*;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
@XmlRootElement(name = "DatasetConfig")
@XmlAccessorType(XmlAccessType.FIELD)
public class DatasetConfig {
@XmlAttribute
private String dataset;
@XmlAttribute
private String type;
@XmlAttribute
private int visible;
@XmlAttribute
private String visibleFilterPage;
@XmlAttribute
private String version;
@XmlAttribute
private String optional_parameters;
@XmlAttribute
private String defaultDataset;
@XmlAttribute
private String datasetID;
@XmlAttribute
private String modified;
@XmlAttribute
private String martUsers;
@XmlAttribute
private String interfaces;
@XmlAttribute
private String primaryKeyRestriction;
@XmlAttribute
private String template;
@XmlAttribute
private String softwareVersion;
@XmlAttribute
private String noCount;
@XmlAttribute
private String entryLabel;
@XmlAttribute
private String splitNameUsing;
@XmlAttribute
private String internalName;
@XmlAttribute
private String displayName;
@XmlAttribute
private String description;
@XmlAttribute
private String hidden;
@XmlAttribute
private String hideDisplay;
@XmlElement(name = "MainTable")
private List<String> mainTables = new ArrayList<String>();
@XmlElement(name = "Key")
private List<String> keys = new ArrayList<String>();
@XmlElement(name = "Importable")
private List<Importable> importables = new ArrayList<Importable>();
@XmlElement(name = "Exportable")
private List<Exportable> exportables = new ArrayList<Exportable>();
@XmlElement(name = "FilterPage")
private List<FilterPage> filterPages = new ArrayList<FilterPage>();
@XmlElement(name = "AttributePage")
private List<AttributePage> attributePages = new ArrayList<AttributePage>();
public static DatasetConfig load(Reader reader) {
DatasetConfig config = null;
try {
JAXBContext context = JAXBContext.newInstance(DatasetConfig.class);
Unmarshaller u = context.createUnmarshaller();
config = (DatasetConfig) u.unmarshal(reader);
} catch (JAXBException ex) {
LoggerFactory.getLogger(DatasetConfig.class).error("Error loading DatasetConfig", ex);
}
return config;
}
public DatasetConfig() {
}
public List<AttributePage> getAttributePages() {
return attributePages;
}
public void setAttributePages(List<AttributePage> AttributePages) {
this.attributePages = AttributePages;
}
public List<Exportable> getExportables() {
return exportables;
}
public void setExportables(List<Exportable> Exportables) {
this.exportables = Exportables;
}
public List<FilterPage> getFilterPages() {
return filterPages;
}
public void setFilterPages(List<FilterPage> FilterPages) {
this.filterPages = FilterPages;
}
public List<Importable> getImportables() {
return importables;
}
public void setImportables(List<Importable> Importables) {
this.importables = Importables;
}
public List<String> getKey() {
return keys;
}
public void setKey(List<String> Key) {
this.keys = Key;
}
public List<String> getMainTable() {
return mainTables;
}
public void setMainTable(List<String> MainTable) {
this.mainTables = MainTable;
}
public String getDataset() {
return dataset;
}
public void setDataset(String dataset) {
this.dataset = dataset;
}
public String getDatasetID() {
return datasetID;
}
public void setDatasetID(String datasetID) {
this.datasetID = datasetID;
}
public String getDefaultDataset() {
return defaultDataset;
}
public void setDefaultDataset(String defaultDataset) {
this.defaultDataset = defaultDataset;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getDisplayName() {
return displayName;
}
public void setDisplayName(String displayName) {
this.displayName = displayName;
}
public String getEntryLabel() {
return entryLabel;
}
public void setEntryLabel(String entryLabel) {
this.entryLabel = entryLabel;
}
public String getHidden() {
return hidden;
}
public void setHidden(String hidden) {
this.hidden = hidden;
}
public String getHideDisplay() {
return hideDisplay;
}
public void setHideDisplay(String hideDisplay) {
this.hideDisplay = hideDisplay;
}
public String getInterfaces() {
return interfaces;
}
public void setInterfaces(String interfaces) {
this.interfaces = interfaces;
}
public String getInternalName() {
return internalName;
}
public void setInternalName(String internalName) {
this.internalName = internalName;
}
public String getMartUsers() {
return martUsers;
}
public void setMartUsers(String martUsers) {
this.martUsers = martUsers;
}
public String getModified() {
return modified;
}
public void setModified(String modified) {
this.modified = modified;
}
public String getNoCount() {
return noCount;
}
public void setNoCount(String noCount) {
this.noCount = noCount;
}
public String getOptional_parameters() {
return optional_parameters;
}
public void setOptional_parameters(String optional_parameters) {
this.optional_parameters = optional_parameters;
}
public String getPrimaryKeyRestriction() {
return primaryKeyRestriction;
}
public void setPrimaryKeyRestriction(String primaryKeyRestriction) {
this.primaryKeyRestriction = primaryKeyRestriction;
}
public String getSoftwareVersion() {
return softwareVersion;
}
public void setSoftwareVersion(String softwareVersion) {
this.softwareVersion = softwareVersion;
}
public String getSplitNameUsing() {
return splitNameUsing;
}
public void setSplitNameUsing(String splitNameUsing) {
this.splitNameUsing = splitNameUsing;
}
public String getTemplate() {
return template;
}
public void setTemplate(String template) {
this.template = template;
}
public String getType() {
return type;
}
/**
* @noinspection UnusedDeclaration
*/
public void setType(String type) {
this.type = type;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public int getVisible() {
return visible;
}
public void setVisible(int visible) {
this.visible = visible;
}
public String getVisibleFilterPage() {
return visibleFilterPage;
}
public void setVisibleFilterPage(String visibleFilterPage) {
this.visibleFilterPage = visibleFilterPage;
}
}