package org.gcube.informationsystem.base.impl.relations; import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName; import org.gcube.informationsystem.base.impl.ElementImpl; import org.gcube.informationsystem.base.reference.entities.EntityElement; import org.gcube.informationsystem.base.reference.relations.RelationElement; import org.gcube.informationsystem.model.reference.properties.Header; /** * @author Luca Frosini (ISTI - CNR) */ @JsonTypeName(value=RelationElement.NAME) public abstract class RelationElementImpl extends ElementImpl implements RelationElement { /** * Generated Serial Version UID */ private static final long serialVersionUID = 28704968813390512L; protected Header header; protected S source; protected T target; protected RelationElementImpl() { super(); } protected RelationElementImpl(S source, T target) { this(); this.source = source; this.target = target; } @Override public Header getHeader() { return header; } @Override public void setHeader(Header header){ this.header = header; } @Override public S getSource() { return source; } @Override public void setSource(S source) { this.source = source; } @Override public T getTarget() { return target; } @Override public void setTarget(T target) { this.target = target; } }