Package 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
Description
`ContentBehavior()`

## Method Summary

Modifier and Type
Method
Description
`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(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 Object,? extends 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, List<? extends 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 Details

### ContentBehavior

public ContentBehavior()

## Method Details

### 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(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 Object,? extends 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, List<? extends 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()`