information-system-model/src/main/java/org/gcube/informationsystem/model/embedded/RelationProperty.java

45 lines
1.1 KiB
Java

package org.gcube.informationsystem.model.embedded;
/**
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
*/
public interface RelationProperty extends Embedded {
/**
* @author Luca Frosini (ISTI - CNR) http://www.lucafrosini.com/
* The referential integrity value have their meaning taking in account the
* Edge direction. So that is the action to be made when an action occurs on
* source Vertex.
*/
public enum ReferentiaIntegrity {
/**
* When the source Vertex is deleted also the target Vertex is deleted if
* there are no other incoming edge.
*/
onDeleteCascadeWhenOrphan,
/**
* When the source Vertex is deleted also the target Vertex is always
* deleted
*/
onDeleteCascade,
/**
* When the source Vertex is deleted also the target Vertex is keep.
* This is the standard behavior also if no integrity is declared.
*/
onDeleteKeep
}
public ReferentiaIntegrity getReferentialIntegrity();
public void setReferentialIntegrity(ReferentiaIntegrity referentialIntegrity);
public AccessPolicy getPolicy();
public void setPolicy(AccessPolicy accessPolicy);
}