de.cau.cs.kieler.kiml.options
Class LayoutOptions

java.lang.Object
  extended by de.cau.cs.kieler.kiml.options.LayoutOptions

public final class LayoutOptions
extends Object

Definition of layout options and utility methods to get and set these options.

Rating proposed yellow
(2009-12-11) msp

Field Summary
static String ASPECT_RATIO
          layout option key: aimed aspect ratio.
static String BORDER_SPACING
          layout option key: distance to border of the drawing.
static String DIAGRAM_TYPE
          layout option key: diagram type.
static String EDGE_LABEL_PLACEMENT
          layout option key: placement positions for edge labels.
static String EDGE_ROUTING
          layout option key: edge routing style.
static String EDGE_TYPE
          layout option key: edge type.
static String EXPAND_NODES
          layout option key: expand nodes to fill their parent.
static String FIXED_SIZE
          layout option key: size constraint for nodes.
static String FONT_NAME
          layout option key: font name.
static String FONT_SIZE
          layout option key: font size.
static String INSETS
          layout option key: distance of node contents to the boundary.
static String INTERACTIVE
          layout option key: optimize layout for user interaction.
static String LABEL_SPACING
          layout option key: spacing of edge labels to edges.
static String LAYOUT_DESCENDANTS
          layout option key: layout descendants.
static String LAYOUT_DIRECTION
          layout option key: direction of layout.
static String LAYOUT_HINT
          layout option key: layout hint.
static String MIN_HEIGHT
          layout option key: minimal height.
static String MIN_SPACING
          layout option key: minimal distance between elements.
static String MIN_WIDTH
          layout option key: minimal width.
static String NO_LAYOUT
          layout option key: no layout.
static String PORT_CONSTRAINTS
          layout option key: constraints for port positions.
static String PORT_RANK
          layout option key: rank of a port.
static String PORT_SIDE
          layout option key: side of a port on its node's boundary.
static String PRIORITY
          layout option key: priority of elements.
static String RANDOM_SEED
          layout option key: randomization seed.
static String SHAPE
          layout option key: shape of a node.
 
Method Summary
static boolean getBoolean(KLayoutData layoutData, String optionId)
          Returns a boolean valued option for a given layout data instance.
static
<T extends Enum<?>>
T
getEnum(KLayoutData layoutData, Class<T> enumClass)
          Returns an enumeration valued option for a given layout data instance.
static Class<? extends Enum<?>> getEnumClass(String optionId)
          Resolves the class of an enumeration given by an identifier.
static float getFloat(KLayoutData layoutData, String optionId)
          Returns a float valued option for a given layout data instance.
static int getInt(KLayoutData layoutData, String optionId)
          Returns an integer valued option for a given layout data instance.
static
<T extends EObject>
T
getObject(KLayoutData layoutData, Class<T> clazz)
          Returns the insets for a given layout data instance.
static String getString(KLayoutData layoutData, String optionId)
          Returns a string valued option for a given layout data instance.
static void registerEnum(String id, Class<? extends Enum<?>> clazz)
          Register the given enumeration class with an option identifier.
static void setBoolean(KLayoutData layoutData, String optionId, boolean value)
          Sets a boolean valued option for a given layout data instance.
static void setEnum(KLayoutData layoutData, Enum<?> value)
          Sets an enumeration valued option for the given layout data instance.
static void setFloat(KLayoutData layoutData, String optionId, float value)
          Sets a float valued option for the given layout data instance.
static void setInt(KLayoutData layoutData, String optionId, int value)
          Sets an integer valued option for the given layout data instance.
static void setString(KLayoutData layoutData, String optionId, String value)
          Sets a string valued option for the given layout data instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ASPECT_RATIO

public static final String ASPECT_RATIO
layout option key: aimed aspect ratio.

See Also:
Constant Field Values

BORDER_SPACING

public static final String BORDER_SPACING
layout option key: distance to border of the drawing.

See Also:
Constant Field Values

DIAGRAM_TYPE

public static final String DIAGRAM_TYPE
layout option key: diagram type.

See Also:
Constant Field Values

EDGE_LABEL_PLACEMENT

public static final String EDGE_LABEL_PLACEMENT
layout option key: placement positions for edge labels.

See Also:
Constant Field Values

EDGE_ROUTING

public static final String EDGE_ROUTING
layout option key: edge routing style.

See Also:
Constant Field Values

EDGE_TYPE

public static final String EDGE_TYPE
layout option key: edge type.

See Also:
Constant Field Values

EXPAND_NODES

public static final String EXPAND_NODES
layout option key: expand nodes to fill their parent.

See Also:
Constant Field Values

FIXED_SIZE

public static final String FIXED_SIZE
layout option key: size constraint for nodes.

See Also:
Constant Field Values

FONT_NAME

public static final String FONT_NAME
layout option key: font name.

See Also:
Constant Field Values

FONT_SIZE

public static final String FONT_SIZE
layout option key: font size.

See Also:
Constant Field Values

INSETS

public static final String INSETS
layout option key: distance of node contents to the boundary.

See Also:
Constant Field Values

INTERACTIVE

public static final String INTERACTIVE
layout option key: optimize layout for user interaction.

See Also:
Constant Field Values

LABEL_SPACING

public static final String LABEL_SPACING
layout option key: spacing of edge labels to edges.

See Also:
Constant Field Values

LAYOUT_DIRECTION

public static final String LAYOUT_DIRECTION
layout option key: direction of layout.

See Also:
Constant Field Values

LAYOUT_HINT

public static final String LAYOUT_HINT
layout option key: layout hint.

See Also:
Constant Field Values

MIN_HEIGHT

public static final String MIN_HEIGHT
layout option key: minimal height.

See Also:
Constant Field Values

MIN_SPACING

public static final String MIN_SPACING
layout option key: minimal distance between elements.

See Also:
Constant Field Values

MIN_WIDTH

public static final String MIN_WIDTH
layout option key: minimal width.

See Also:
Constant Field Values

NO_LAYOUT

public static final String NO_LAYOUT
layout option key: no layout.

See Also:
Constant Field Values

PORT_CONSTRAINTS

public static final String PORT_CONSTRAINTS
layout option key: constraints for port positions.

See Also:
Constant Field Values

PORT_SIDE

public static final String PORT_SIDE
layout option key: side of a port on its node's boundary.

See Also:
Constant Field Values

PORT_RANK

public static final String PORT_RANK
layout option key: rank of a port.

See Also:
Constant Field Values

PRIORITY

public static final String PRIORITY
layout option key: priority of elements.

See Also:
Constant Field Values

RANDOM_SEED

public static final String RANDOM_SEED
layout option key: randomization seed.

See Also:
Constant Field Values

SHAPE

public static final String SHAPE
layout option key: shape of a node.

See Also:
Constant Field Values

LAYOUT_DESCENDANTS

public static final String LAYOUT_DESCENDANTS
layout option key: layout descendants.

See Also:
Constant Field Values
Method Detail

registerEnum

public static void registerEnum(String id,
                                Class<? extends Enum<?>> clazz)
Register the given enumeration class with an option identifier.

Parameters:
id - identifier of the layout option
clazz - enumeration class for the layout option

getEnumClass

public static Class<? extends Enum<?>> getEnumClass(String optionId)
Resolves the class of an enumeration given by an identifier.

Parameters:
optionId - identifier of a layout option that is represented by an enumeration
Returns:
the corresponding enumeration class, or null if there is no registered enumeration class for that identifier

getString

public static String getString(KLayoutData layoutData,
                               String optionId)
Returns a string valued option for a given layout data instance.

Parameters:
layoutData - layout data for a graph element
optionId - identifier of a layout option
Returns:
the valued option for the given layout data, or null if there is no such option

setString

public static void setString(KLayoutData layoutData,
                             String optionId,
                             String value)
Sets a string valued option for the given layout data instance.

Parameters:
layoutData - layout data for a graph element
optionId - identifier of a layout option
value - the option value to set

getInt

public static int getInt(KLayoutData layoutData,
                         String optionId)
Returns an integer valued option for a given layout data instance.

Parameters:
layoutData - layout data for a graph element
optionId - identifier of a layout option
Returns:
the integer valued option for the given layout data, or MIN_VALUE if there is no such option

setInt

public static void setInt(KLayoutData layoutData,
                          String optionId,
                          int value)
Sets an integer valued option for the given layout data instance.

Parameters:
layoutData - layout data for a graph element
optionId - identifier of a layout option
value - the option value to set

getFloat

public static float getFloat(KLayoutData layoutData,
                             String optionId)
Returns a float valued option for a given layout data instance.

Parameters:
layoutData - layout data for a graph element
optionId - identifier of a layout option
Returns:
the valued option for the given layout data, or NaN if there is no such option

setFloat

public static void setFloat(KLayoutData layoutData,
                            String optionId,
                            float value)
Sets a float valued option for the given layout data instance.

Parameters:
layoutData - layout data for a graph element
optionId - identifier of a layout option
value - minimal spacing to set

getBoolean

public static boolean getBoolean(KLayoutData layoutData,
                                 String optionId)
Returns a boolean valued option for a given layout data instance.

Parameters:
layoutData - layout data for a graph element
optionId - identifier of a layout option
Returns:
the boolean valued option for the given layout data, or false if there is no such option

setBoolean

public static void setBoolean(KLayoutData layoutData,
                              String optionId,
                              boolean value)
Sets a boolean valued option for a given layout data instance.

Parameters:
layoutData - layout data for a graph element
optionId - identifier of a layout option
value - the option value to set

getEnum

public static <T extends Enum<?>> T getEnum(KLayoutData layoutData,
                                            Class<T> enumClass)
Returns an enumeration valued option for a given layout data instance.

Type Parameters:
T - type of enumeration class
Parameters:
layoutData - layout data for a graph element
enumClass - the enumeration class
Returns:
the enumeration valued option for the given layout data, or the first enumeration value if there is no such option

setEnum

public static void setEnum(KLayoutData layoutData,
                           Enum<?> value)
Sets an enumeration valued option for the given layout data instance.

Parameters:
layoutData - layout data for a graph element
value - the option value to set

getObject

public static <T extends EObject> T getObject(KLayoutData layoutData,
                                              Class<T> clazz)
Returns the insets for a given layout data instance. If no insets option is set, default values are created.

Type Parameters:
T - type of object; only insets are supported
Parameters:
layoutData - layout data for a graph element
clazz - the object class; must equal KInsets.class
Returns:
the insets for the given layout data