information-system-model/src/main/java/org/gcube/informationsystem/base/impl/relations/RelationElementImpl.java

65 lines
1.4 KiB
Java
Raw Normal View History

package org.gcube.informationsystem.base.impl.relations;
2020-07-07 17:04:25 +02:00
import org.gcube.com.fasterxml.jackson.annotation.JsonTypeName;
2020-02-03 10:51:29 +01:00
import org.gcube.informationsystem.base.impl.ElementImpl;
import org.gcube.informationsystem.base.reference.entities.EntityElement;
import org.gcube.informationsystem.base.reference.relations.RelationElement;
2020-02-03 10:51:29 +01:00
import org.gcube.informationsystem.model.reference.properties.Header;
/**
* @author Luca Frosini (ISTI - CNR)
*/
@JsonTypeName(value=RelationElement.NAME)
2020-02-03 10:51:29 +01:00
public abstract class RelationElementImpl<S extends EntityElement, T extends EntityElement> extends ElementImpl implements RelationElement<S, T> {
2019-10-24 11:26:49 +02:00
/**
* Generated Serial Version UID
*/
2019-10-24 11:26:49 +02:00
private static final long serialVersionUID = 28704968813390512L;
2020-02-03 10:51:29 +01:00
protected Header header;
2019-11-04 18:06:46 +01:00
protected S source;
protected T target;
protected RelationElementImpl() {
2020-02-03 10:51:29 +01:00
super();
}
protected RelationElementImpl(S source, T target) {
2019-10-24 11:26:49 +02:00
this();
this.source = source;
this.target = target;
}
2020-02-03 10:51:29 +01:00
@Override
public Header getHeader() {
return header;
}
@Override
public void setHeader(Header header){
this.header = header;
}
2019-10-24 11:26:49 +02:00
@Override
2019-11-04 18:06:46 +01:00
public S getSource() {
2019-10-24 11:26:49 +02:00
return source;
}
2019-10-24 11:26:49 +02:00
@Override
2019-11-04 18:06:46 +01:00
public void setSource(S source) {
2019-10-24 11:26:49 +02:00
this.source = source;
}
@Override
2019-11-04 18:06:46 +01:00
public T getTarget() {
2019-10-24 11:26:49 +02:00
return target;
}
@Override
2019-11-04 18:06:46 +01:00
public void setTarget(T target) {
2019-10-24 11:26:49 +02:00
this.target = target;
}
}