org.eclipse.gef.mvc.fx.behaviors

## Class ContentBehavior

- java.lang.Object
- - org.eclipse.gef.mvc.fx.behaviors.AbstractBehavior
  - - org.eclipse.gef.mvc.fx.behaviors.ContentBehavior

All Implemented Interfaces:
  IActivatable, IAdaptable.Bound<IVisualPart<? extends javafx.scene.Node>>, IDisposable, IBehavior

    public class ContentBehavior
    extends AbstractBehavior
    implements IDisposable

A behavior that can be adapted to an `IRootPart` or an `IContentPart` to synchronize the list of `IContentPart` children and (only in case of an `IContentPart`) anchorages with the list of content children and anchored.

### Property Summary

### Properties inherited from class org.eclipse.gef.mvc.fx.behaviors.AbstractBehavior

`active, adaptable`

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.eclipse.gef.common.adapt.IAdaptable.Bound

`IAdaptable.Bound.Impl<T extends IAdaptable>`

### Field Summary

### Fields inherited from interface org.eclipse.gef.common.activate.IActivatable

`ACTIVE_PROPERTY`

### Constructor Summary

Constructors
Constructor and Description
`ContentBehavior()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `dispose()`
`protected void` `disposeIfObsolete(IContentPart<? extends javafx.scene.Node> contentPart)` If the given `IContentPart` does neither have a parent nor any anchoreds, then it's content is set to `null` and the part is added to the `ContentPartPool`.
`protected void` `doActivate()` Post `AbstractBehavior.activate()` hook that may be overwritten to e.g. register listeners.
`protected void` `doDeactivate()` Pre `AbstractBehavior.deactivate()` hook that may be overwritten to e.g. unregister listeners.
`protected IContentPart<? extends javafx.scene.Node>` `findOrCreatePartFor(java.lang.Object content)` Finds/Revives/Creates an `IContentPart` for the given content `Object`.
`protected IContentPartFactory` `getContentPartFactory()` Returns the `IContentPartFactory` of the current viewer.
`protected ContentPartPool` `getContentPartPool()` Returns the `ContentPartPool` that is used to recycle content parts in the context of an `IViewer`.
`void` `synchronizeContentPartAnchorages(IVisualPart<? extends javafx.scene.Node> anchored, SetMultimap<? extends java.lang.Object,? extends java.lang.String> contentAnchorages)` Updates the host `IVisualPart`'s `IContentPart` anchorages (see `IVisualPart.getAnchoragesUnmodifiable()`) so that it is in sync with the set of content anchorages that is passed in.
`void` `synchronizeContentPartChildren(IVisualPart<? extends javafx.scene.Node> parent, java.util.List<? extends java.lang.Object> contentChildren)` Updates the host `IVisualPart`'s `IContentPart` children (see `IVisualPart.getChildrenUnmodifiable()`) so that it is in sync with the set of content children that is passed in.

### Methods inherited from class org.eclipse.gef.mvc.fx.behaviors.AbstractBehavior

`activate, activeProperty, adaptableProperty, addAnchoreds, addAnchoreds, addFeedback, addFeedback, addHandles, addHandles, clearFeedback, clearHandles, deactivate, getAdaptable, getFeedback, getFeedback, getFeedbackPartFactory, getFeedbackPartFactory, getFeedbackPerTargetSet, getHandlePartFactory, getHandlePartFactory, getHandles, getHandles, getHandlesPerTargetSet, getHost, hasFeedback, hasFeedback, hasHandles, hasHandles, isActive, removeAnchoreds, removeFeedback, removeFeedback, removeFeedback, removeHandles, removeHandles, removeHandles, setAdaptable, updateHandles, updateHandles`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ContentBehavior

    public ContentBehavior()

### Method Detail

#### dispose

    public void dispose()

Specified by:
  `dispose` in interface `IDisposable`

#### disposeIfObsolete

    protected void disposeIfObsolete(IContentPart<? extends javafx.scene.Node> contentPart)

If the given `IContentPart` does neither have a parent nor any anchoreds, then it's content is set to `null` and the part is added to the `ContentPartPool`.

Parameters:
  `contentPart` - The `IContentPart` that is eventually disposed.

#### doActivate

    protected void doActivate()

Description copied from class: `AbstractBehavior`
Post `AbstractBehavior.activate()` hook that may be overwritten to e.g. register listeners.

Overrides:
  `doActivate` in class `AbstractBehavior`

#### doDeactivate

    protected void doDeactivate()

Description copied from class: `AbstractBehavior`
Pre `AbstractBehavior.deactivate()` hook that may be overwritten to e.g. unregister listeners.

Overrides:
  `doDeactivate` in class `AbstractBehavior`

#### findOrCreatePartFor

    protected IContentPart<? extends javafx.scene.Node> findOrCreatePartFor(java.lang.Object content)

Finds/Revives/Creates an `IContentPart` for the given content `Object`. If an `IContentPart` for the given content `Object` can be found in the viewer's content-part-map, then this part is returned. If an `IContentPart` for the given content `Object` is stored in the `ContentPartPool`, then this part is returned. Otherwise, the injected `IContentPartFactory` is used to create a new `IContentPart` for the given content `Object`.

Parameters:
  `content` - The content `Object` for which the corresponding `IContentPart` is to be returned.
Returns:
  The `IContentPart` corresponding to the given content `Object`.

#### getContentPartFactory

    protected IContentPartFactory getContentPartFactory()

Returns the `IContentPartFactory` of the current viewer.

Returns:
  the `IContentPartFactory` of the current viewer.

#### getContentPartPool

    protected ContentPartPool getContentPartPool()

Returns the `ContentPartPool` that is used to recycle content parts in the context of an `IViewer`.

Returns:
  The `ContentPartPool` of the `IViewer`.

#### synchronizeContentPartAnchorages

    public void synchronizeContentPartAnchorages(IVisualPart<? extends javafx.scene.Node> anchored,
                                                 SetMultimap<? extends java.lang.Object,? extends java.lang.String> contentAnchorages)

Updates the host `IVisualPart`'s `IContentPart` anchorages (see `IVisualPart.getAnchoragesUnmodifiable()`) so that it is in sync with the set of content anchorages that is passed in.

Parameters:
  `anchored` - The anchored `IVisualPart` whose content part anchorages to synchronize with the given content anchorages.
  `contentAnchorages` - * The map of content anchorages with roles to be synchronized with the list of `IContentPart` anchorages ( `IVisualPart.getAnchoragesUnmodifiable()`).
See Also:
  `IContentPart.getContentAnchoragesUnmodifiable()`, `IVisualPart.getAnchoragesUnmodifiable()`

#### synchronizeContentPartChildren

    public void synchronizeContentPartChildren(IVisualPart<? extends javafx.scene.Node> parent,
                                               java.util.List<? extends java.lang.Object> contentChildren)

Updates the host `IVisualPart`'s `IContentPart` children (see `IVisualPart.getChildrenUnmodifiable()`) so that it is in sync with the set of content children that is passed in.

Parameters:
  `parent` - The parent `IVisualPart` whose content part children to synchronize against the given content children.
  `contentChildren` - The list of content part children to be synchronized with the list of `IContentPart` children ( `IVisualPart.getChildrenUnmodifiable()`).
See Also:
  `IContentPart.getContentChildrenUnmodifiable()`, `IVisualPart.getChildrenUnmodifiable()`