diff --git a/docs/annotations/adjacency.md b/docs/annotations/adjacency.md index 25ed9328b8cbf38f197e8232bd19b620fd226854..cd63d2c1319d1cf8d09b4e727de2413e56c1749d 100644 --- a/docs/annotations/adjacency.md +++ b/docs/annotations/adjacency.md @@ -370,7 +370,12 @@ void removeFoobar(BarVertex vertex); Valid method signatures: `(VertexFrame)`, `(Iterator)`, `(Iterable)` Creates new edges connected to several vertex and at the same time removes any existing edges. If the any of the vertex -being set are already an adjacency then the edge will be preserved as-is. +being set are already an adjacency then the edge will still be removed and recreated. + +!!! warning + The set operation methods are equivelant to removing all existing edges of the specified label and direction + connected to the current vertex and then call add on all the vertex specified by the method's parameters. You will + loose any existing properties set on all dropped edges as well. ### Signature: `(VertexFrame)` @@ -378,10 +383,15 @@ Valid return types: `void` The argument for this method must be a `VertexFrame` or a class or interface which inherits from that class. -This method will drop any existing edges with the specified label and create a single new edge to the vertex specified. -If the specified vertex is already an adjacency than any edges already connected to it will be preserved. Any newly +This method will drop all existing edges with the specified label and create a single new edge to the vertex specified. +Of course if the direction is set to both then two new edges are created instead, one in each direction. Any newly created edges will not encode a type. +!!! warning + If the vertex specified in the method's argument already has an edge forming an adjacency with this vertex and has + matching direction and label attributes then that edge will be removed and recreated as a blank untyped edge with + the same label. + example: ```java @@ -403,20 +413,22 @@ void assignFoobar(BarVertex vertex); Valid return types: `void` -The argument for this method must be an `Iterator` which iterates over vertex Frames. It is suggested you specify a +The argument for this method must be an `Iterator` which iterates over Vertex Frames. It is suggested you specify a Generic Type for the Iterator for usability. -This method will iterate over all the vertex specified in the Iterator argument and create new edges to connect to it. -The edges in the graph will not encode a type. +This method will drop all existing edges with the specified lable then iterate over all the vertex specified in the +`Iterator` argument and create new edges to connect to them. The edges in the graph will not encode a type. -Any existing edges matching the specified label that do not connect to one of the `VertexFrame` provided by the iterator -will be removed. +!!! warning + If any of the vertex specified by this method's argument already has an edge forming an adjacency with this vertex + and has matching direction and label attributes then that edge will be removed and recreated as a blank untyped edge + with the same label. example: ```java @Adjacency("Foo") -void setFoobar(Iterator<BaBarVertexr> vertex); +void setFoobar(Iterator<BarVertexr> vertex); ``` ```java @@ -434,15 +446,16 @@ void setFoobar(Iterator<BaBarVertexr> vertex); Valid return types: `void` The argument for this method must be an `Iterable` or a subclass of `Iterable` which iterates over vertex Frames. It is -suggested you specify a Generic Type for the Iterator for usability. - -Since all Java collections inherit from the `Iterable` interface they can also be used as parameters to these methods. +suggested you specify a Generic Type for the Iterator for usability. Since all Java collections inherit from the +`Iterable` interface any collection type can also be used as a parameter to this methods. -This method will iterate over all the vertex specified in the `Iterable` argument and create new edges to connect to it. -The edges in the graph will not encode a type. +This method will drop all existing edges with the specified lable then iterate over all the vertex specified in the +`Iterable` argument and create new edges to connect to them. The edges in the graph will not encode a type. -Any existing edges matching the specified label that do not connect to one of the `VertexFrame` provided by the iterator -will be removed. +!!! warning + If any of the vertex specified by this method's argument already has an edge forming an adjacency with this vertex + and has matching direction and label attributes then that edge will be removed and recreated as a blank untyped edge + with the same label. example: