package org.openntf.domino.graph2.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.tinkerpop.blueprints.Direction;
/**
* Incidences annotate getters and adders to represent a Vertex incident to an Edge. IncidenceUnique extends this idea to ensure that there
* is only one instance of an Edge with a specific label between any two specific Vertices.
*
* @author Nathan T. Freeman
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface IncidenceUnique {
/**
* The labels of the edges that are incident to the vertex.
*
* @return the edge label
*/
public String label();
/**
* The direction of the edges.
*
* @return the edge direction
*/
public Direction direction() default Direction.OUT;
}