package org.opentosca.csarrepo.rest.model;
import java.util.LinkedList;
import java.util.List;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
/**
* Abstract entry class for the csarrepo
*
* @author eiselems (marcus.eisele@gmail.com)
*
*/
@XmlRootElement(name = "abstract-entry")
public abstract class AbstractEntry {
private String version = "0.1";
private List<SimpleXLink> links = new LinkedList<SimpleXLink>();
private List<SimpleXLink> children;
protected AbstractEntry() {
super();
}
public AbstractEntry(List<SimpleXLink> links, List<SimpleXLink> children) {
super();
this.links = links;
this.children = children;
}
@XmlAttribute(name = "version", required = true)
public String getVersion() {
return version;
}
@XmlElementWrapper(name = "links")
@XmlElement(name = "link")
public List<SimpleXLink> getLinks() {
return links;
}
// this is transient to ensure proper naming in subclasses
@XmlTransient
public List<SimpleXLink> getChildren() {
return children;
}
}