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

78 lines
1.5 KiB
Java
Raw Normal View History

package org.gcube.informationsystem.base.impl.relations;
2023-04-18 17:51:23 +02:00
import java.util.UUID;
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;
2023-04-18 17:51:23 +02:00
import org.gcube.informationsystem.model.reference.properties.Metadata;
/**
* @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;
2023-04-18 17:51:23 +02:00
protected UUID uuid;
protected Metadata metadata;
2020-02-03 10:51:29 +01:00
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();
}
2023-04-18 17:51:23 +02:00
protected RelationElementImpl(S source, T target) {
2019-10-24 11:26:49 +02:00
this();
this.source = source;
this.target = target;
}
2023-04-18 17:51:23 +02:00
@Override
public UUID getUUID() {
return uuid;
}
2019-10-24 11:26:49 +02:00
2020-02-03 10:51:29 +01:00
@Override
2023-04-18 17:51:23 +02:00
public void setUUID(UUID uuid) {
this.uuid = uuid;
}
@Override
public Metadata getMetadata() {
return metadata;
2020-02-03 10:51:29 +01:00
}
@Override
2023-04-18 17:51:23 +02:00
public void setMetadata(Metadata metadata){
this.metadata = metadata;
2020-02-03 10:51:29 +01:00
}
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;
}
}