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

48 lines
1.2 KiB
Java

/**
*
*/
package org.gcube.informationsystem.impl.relation;
import org.gcube.informationsystem.impl.entity.EntityImpl;
import org.gcube.informationsystem.model.annotations.ISPropertyRef;
import org.gcube.informationsystem.model.annotations.ISRelation;
import org.gcube.informationsystem.model.entity.Entity;
import org.gcube.informationsystem.model.relation.Relation;
import org.gcube.informationsystem.model.relation.RelationProperty;
/**
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
*
*/
@ISRelation(name="Realation", out=EntityImpl.class, in=EntityImpl.class, abstractClass= true)
public abstract class RelationImpl<Out extends Entity, In extends Entity> implements Relation<Out, In> {
protected Out source;
protected In target;
@ISPropertyRef(ref=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;
}
}