Package org.eclipse.gef.zest.fx.jface

## Interface IGraphAttributesProvider

All Superinterfaces:
  `IBaseLabelProvider`, `ILabelProvider`

    public interface IGraphAttributesProvider
    extends ILabelProvider

The `IGraphAttributesProvider` can be used to provide arbitrary attributes for nodes, edges, the root graph, and any nested graphs.

### Method Summary

All Methods Instance Methods Abstract Methods
`java.util.Map<java.lang.String,​java.lang.Object>` `getEdgeAttributes​(java.lang.Object sourceNode, java.lang.Object targetNode)` Determines the attributes that should be set on the edge with the specified source and target content elements.
`java.util.Map<java.lang.String,​java.lang.Object>` `getGraphAttributes()` Determines the attributes that should be set on the root graph.
`java.util.Map<java.lang.String,​java.lang.Object>` `getNestedGraphAttributes​(java.lang.Object nestingNode)` Determines the attributes that should be set on a nested graph that is nested inside the node represented by the given content element.
`java.util.Map<java.lang.String,​java.lang.Object>` `getNodeAttributes​(java.lang.Object node)` Determines the attributes that should be set on the node represented by the given content element.

### Methods inherited from interface org.eclipse.jface.viewers.IBaseLabelProvider

`addListener, dispose, isLabelProperty, removeListener`

### Methods inherited from interface org.eclipse.jface.viewers.ILabelProvider

`getImage, getText`

### Method Detail

#### getEdgeAttributes

    java.util.Map<java.lang.String,​java.lang.Object> getEdgeAttributes​(java.lang.Object sourceNode,
                                                                             java.lang.Object targetNode)

Determines the attributes that should be set on the edge with the specified source and target content elements. If no attributes should be set on the edge, either an empty map or `null` can be returned.

Parameters:
  `sourceNode` - A content element representing the source node of an edge, according to the `IGraphContentProvider.getAdjacentNodes(Object)` method.
  `targetNode` - A content element representing the target node of an edge, according to the `IGraphContentProvider.getAdjacentNodes(Object)` method.
Returns:
  A mapping from attribute names to values that should be set on the specified edge.
See Also:
  `For an overview of the supported attributes.`

#### getGraphAttributes

    java.util.Map<java.lang.String,​java.lang.Object> getGraphAttributes()

Determines the attributes that should be set on the root graph. If no attributes should be set on the root graph, either an empty map or `null` can be returned.

Returns:
  A mapping from attribute names to values that should be set on the root graph.
See Also:
  `ZestProperties`

#### getNestedGraphAttributes

    java.util.Map<java.lang.String,​java.lang.Object> getNestedGraphAttributes​(java.lang.Object nestingNode)

Determines the attributes that should be set on a nested graph that is nested inside the node represented by the given content element. If no attributes should be set on the graph, either an empty map or `null` can be returned.

Parameters:
  `nestingNode` - A content element representing a nesting node according to the `IGraphContentProvider.hasNestedGraph(Object)` method.
Returns:
  A mapping from attribute names to values that should be set on the graph nested inside the node represented by the given content element.
See Also:
  `For an overview of the supported attributes.`

#### getNodeAttributes

    java.util.Map<java.lang.String,​java.lang.Object> getNodeAttributes​(java.lang.Object node)

Determines the attributes that should be set on the node represented by the given content element. If no attributes should be set on the node, either an empty map or `null` can be returned.

Parameters:
  `node` - A content element representing a node according to the `IGraphContentProvider.getNodes()` method.
Returns:
  A mapping from attribute names to values that should be set on the node represented by the given content element.
See Also:
  `ZestProperties`