information-system-model/src/main/java/org/gcube/informationsystem/impl/relation/RelationImpl.java

45 lines
1.0 KiB
Java

/**
*
*/
package org.gcube.informationsystem.impl.relation;
import org.gcube.informationsystem.model.entity.Entity;
import org.gcube.informationsystem.model.relation.Relation;
import org.gcube.informationsystem.model.relation.RelationProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
/**
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
*
*/
public abstract class RelationImpl<Out extends Entity, In extends Entity> implements Relation<Out, In> {
protected Out source;
protected In target;
@JsonDeserialize(as = RelationPropertyImpl.class)
protected RelationProperty relationProperty;
protected RelationImpl(Out source, In target, RelationProperty relationProperty){
this.source = source;
this.target = target;
this.relationProperty = relationProperty;
}
@Override
public Out getSource() {
return null;
}
@Override
public In getTarget() {
return null;
}
@Override
public RelationProperty getRelationProperty() {
return this.relationProperty;
}
}