package org.openlca.ilcd.sources;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAnyAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlType;
import javax.xml.namespace.QName;
import org.openlca.ilcd.commons.Classification;
import org.openlca.ilcd.commons.LangString;
import org.openlca.ilcd.commons.Other;
import org.openlca.ilcd.commons.Ref;
import org.openlca.ilcd.commons.annotations.FreeText;
import org.openlca.ilcd.commons.annotations.Label;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "DataSetInformationType", propOrder = {
"uuid",
"name",
"classifications",
"citation",
"type",
"description",
"files",
"contacts",
"logo",
"other" })
public class DataSetInfo implements Serializable {
private final static long serialVersionUID = 1L;
@XmlElement(name = "UUID", namespace = "http://lca.jrc.it/ILCD/Common", required = true)
public String uuid;
@Label
@XmlElement(name = "shortName", namespace = "http://lca.jrc.it/ILCD/Common")
public final List<LangString> name = new ArrayList<>();
@XmlElementWrapper(name = "classificationInformation")
@XmlElement(name = "classification", namespace = "http://lca.jrc.it/ILCD/Common")
public final List<Classification> classifications = new ArrayList<>();
@XmlElement(name = "sourceCitation")
public String citation;
@XmlElement(name = "publicationType")
public SourceType type;
@FreeText
@XmlElement(name = "sourceDescriptionOrComment")
public final List<LangString> description = new ArrayList<>();
@XmlElement(name = "referenceToDigitalFile")
public final List<FileRef> files = new ArrayList<>();
@XmlElement(name = "referenceToContact")
public final List<Ref> contacts = new ArrayList<>();
@XmlElement(name = "referenceToLogo")
public Ref logo;
@XmlElement(namespace = "http://lca.jrc.it/ILCD/Common")
public Other other;
@XmlAnyAttribute
public Map<QName, String> otherAttributes = new HashMap<>();
}