## org.eclipse.amp.agf.gef
Interface IFigureProvider

All Known Implementing Classes:
  DefaultFigureProvider

    public interface IFigureProvider

Method Summary
`org.eclipse.draw2d.IFigure` `getFigure(java.lang.Object object)` Return a figure representing the object.
`boolean` `isColorMutable(java.lang.Object object)` Can the color of the figure be modified based on object state? If this value is false, consumers are able to optimize by coloring the figure once and only once for a given model instantiation.
`boolean` `isFigureUpdateable(java.lang.Object object)` Can the figure be modified based on object state? If this value is false, consumers are able to optimize by building figure once and only once for a given model instantiation.
`boolean` `isHandlingColor(java.lang.Object object)` Does the figure handle its own coloring? If false, then consumers use a separate color provider to set the figure background and foreground colors.
`void` `updateFigure(java.lang.Object object, org.eclipse.draw2d.IFigure figure)` Updates the figure based on the current state of the object.

Method Detail

### getFigure

    org.eclipse.draw2d.IFigure getFigure(java.lang.Object object)

  Return a figure representing the object. This figure will typically be a new instance created by the provider, but could also be a cached instance. In any case, the provider should make no assumptions about the current state of any figures.

  Parameters:
    `object` -
  Returns:

### updateFigure

    void updateFigure(java.lang.Object object,
                      org.eclipse.draw2d.IFigure figure)

  Updates the figure based on the current state of the object. Implementors can do anything with the figure except dispose of it or remove it from its parent object.

### isFigureUpdateable

    boolean isFigureUpdateable(java.lang.Object object)

  Can the figure be modified based on object state? If this value is false, consumers are able to optimize by building figure once and only once for a given model instantiation. This value should only be true if you wish to add or remove members from the figure after initial creation. If the entire figure should change on an update (an expensive operation) you can create a clear container figure and add the maintain the changeable figures within that.

  Parameters:
    `object` -
  Returns:

### isColorMutable

    boolean isColorMutable(java.lang.Object object)

  Can the color of the figure be modified based on object state? If this value is false, consumers are able to optimize by coloring the figure once and only once for a given model instantiation. If the figure itself is mutable, then this value is (generally) irrelevant as most consumers will re-color the new figure at the same time. If the figure is handling its own coloring, then this value is irrelevant.

  Parameters:
    `object` -
  Returns:

### isHandlingColor

    boolean isHandlingColor(java.lang.Object object)

  Does the figure handle its own coloring? If false, then consumers use a separate color provider to set the figure background and foreground colors. If true -- as in the case of a composite figure that includes separate colors for each component -- then consumers are not responsible for setting figure colors and should not do so.

  Parameters:
    `object` -
  Returns: