9.9.3 Joining Arrows and Boxes

The join keyword can be used to connect arrows to other arrows or boxes. In its simplest form one arrow can be joined to another. If the second arrow is a continuation of the first arrow and they overlap, then a curly connecting segment is added as in case of the first example below. Note that this is done only if the two arrows have the same directionality; either the second comes after the first one or they are both bi-directional; they have a common end; and they overlap. Note that the first arrow can be an arrow starting and ending at the same entity, but the second cannot. If you want that use the side attribute, as illustrated on the second example below.

If the two arrows do not overlap, they will be simply laid out aligned by their centerline. It is possible to mix any type of arrow, including block arrows, irrespective of directionality. The arrows do not have to connect (but cannot overlap). This construct enables you to have a different label for each joined arrow part. Note that each joined arrow may be multi-segment itself.

Finally, you can also include boxes in a join series. You can leave the end of the arrows towards the box unspecified. In this case the arrow will connect to the side of the box. Note that you cannot join a box directly to another, an arrow must come in between.

exB4_cshexB4

You cannot specify parallel or overlap for an element if you specify join. Any parallel or overlap keyword specified for a join series, on the other hand, will apply to all elements of the join series.