1 package org.kite9.diagram.primitives;
2
3 import java.util.Collection;
4 import java.util.List;
5
6 import org.kite9.diagram.position.Direction;
7 import org.kite9.diagram.position.RouteRenderingInformation;
8
9
10 /***
11 * Interface to say that this diagram element contains others rendered within it.
12 * @see Leaf
13 *
14 * @author robmoffat
15 *
16 */
17 public interface Container extends IdentifiableDiagramElement, Connected {
18
19 public List<Contained> getContents();
20
21 /***
22 * Returns the order in which contents of the container should be
23 * laid out, or null if there is no canonical ordering.
24 *
25 * Note: layout can only be respected if the contents are provided in
26 * a {@link Collection} in which the ordering is explicit. e.g. a {@link List}
27 */
28 public Direction getLayoutDirection();
29
30 public void setLayoutDirection(Direction d);
31
32 public Label getLabel();
33
34 public void setLabel(Label l);
35
36 public RouteRenderingInformation getRenderingInformation();
37
38 }