Package org.eclipse.gef.fx.anchors

# Class IComputationStrategy.Parameter<T>

java.lang.Object
javafx.beans.binding.ObjectExpression<T>
javafx.beans.property.ReadOnlyObjectProperty<T>
javafx.beans.property.ObjectProperty<T>
javafx.beans.property.ObjectPropertyBase<T>
org.eclipse.gef.fx.anchors.IComputationStrategy.Parameter<T>

Type Parameters:
  `T` - The parameter value type.

All Implemented Interfaces:
  `javafx.beans.Observable`, `javafx.beans.property.Property<T>`, `javafx.beans.property.ReadOnlyProperty<T>`, `javafx.beans.value.ObservableObjectValue<T>`, `javafx.beans.value.ObservableValue<T>`, `javafx.beans.value.WritableObjectValue<T>`, `javafx.beans.value.WritableValue<T>`

Direct Known Subclasses:
  `DynamicAnchor.AnchorageReferenceGeometry`, `DynamicAnchor.AnchorageReferencePosition`, `DynamicAnchor.AnchoredReferencePoint`, `DynamicAnchor.PreferredOrientation`

Enclosing interface:
  IComputationStrategy

public abstract static class IComputationStrategy.Parameter<T> extends javafx.beans.property.ObjectPropertyBase<T>
Base class for all computation parameters that can be passed to an `IComputationStrategy`.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`IComputationStrategy.Parameter.Kind`
Indicates whether the parameter value can be shared to compute positions of all attached anchors or not.

## Constructor Summary

Constructors
Constructor
Description
`Parameter(IComputationStrategy.Parameter.Kind kind)`
Creates a new mandatory `IComputationStrategy.Parameter` of the given kind.
`Parameter(IComputationStrategy.Parameter.Kind kind, boolean optional)`
Creates a new optional parameter of the given kind.

## Method Summary

Modifier and Type
Method
Description
`void`
`bind(javafx.beans.value.ObservableValue<? extends T> newObservable)`
`protected static <T extends IComputationStrategy.Parameter<?>>
T`
`get(Collection<? extends IComputationStrategy.Parameter<?>> parameters, Class<T> parameterType)`
Retrieves a parameter of the respective type from the set of given parameters.
`Object`
`getBean()`
`final IComputationStrategy.Parameter.Kind`
`getKind()`
Retrieves the `IComputationStrategy.Parameter.Kind` of this parameter, which indicates whether a single value may be shared to compute the positions of all attached `AnchorKey`s or not.
`static IComputationStrategy.Parameter.Kind`
`getKind(Class<? extends IComputationStrategy.Parameter<?>> paramType)`
Returns the `IComputationStrategy.Parameter.Kind` returned by an instance of the given `IComputationStrategy.Parameter` type.
`String`
`getName()`
`void`
`invalidateBinding()`
If this parameter is bound, can be used to invalidate the underlying binding, so that the value is re-computed.
`final boolean`
`isOptional()`
Indicates whether this parameter is optional
`static boolean`
`isOptional(Class<? extends IComputationStrategy.Parameter<?>> paramType)`
Returns `true` if an instance of the given `IComputationStrategy.Parameter` type is optional.
`void`
`unbind()`

### Methods inherited from class javafx.beans.property.ObjectPropertyBase

`addListener, addListener, fireValueChangedEvent, get, invalidated, isBound, removeListener, removeListener, set, toString`

### Methods inherited from class javafx.beans.property.ObjectProperty

`bindBidirectional, setValue, unbindBidirectional`

### Methods inherited from class javafx.beans.binding.ObjectExpression

`asString, asString, asString, getValue, isEqualTo, isEqualTo, isNotEqualTo, isNotEqualTo, isNotNull, isNull, objectExpression`

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

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

### Methods inherited from interface javafx.beans.value.ObservableValue

`getValue`

### Methods inherited from interface javafx.beans.value.WritableValue

`getValue`

## Constructor Details

### Parameter

public Parameter(IComputationStrategy.Parameter.Kind kind)
Creates a new mandatory `IComputationStrategy.Parameter` of the given kind.

Parameters:
  `kind` - The parameter kind.

### Parameter

public Parameter(IComputationStrategy.Parameter.Kind kind, boolean optional)
Creates a new optional parameter of the given kind.

Parameters:
  `kind` - The parameter kin.
  `optional` - Whether this parameter is optional or not.

## Method Details

### get

protected static <T extends IComputationStrategy.Parameter<?>> T get(Collection<? extends IComputationStrategy.Parameter<?>> parameters, Class<T> parameterType)
Retrieves a parameter of the respective type from the set of given parameters.

Type Parameters:
  `T` - The runtime type of the parameter.
Parameters:
  `parameters` - The set of parameters to search.
  `parameterType` - The parameter type
Returns:
  The parameter or `null`.

### getKind

public static IComputationStrategy.Parameter.Kind getKind(Class<? extends IComputationStrategy.Parameter<?>> paramType)
Returns the `IComputationStrategy.Parameter.Kind` returned by an instance of the given `IComputationStrategy.Parameter` type.

Parameters:
  `paramType` - The `IComputationStrategy.Parameter` type for which to return the `IComputationStrategy.Parameter.Kind`.
Returns:
  The `IComputationStrategy.Parameter.Kind` for the given `IComputationStrategy.Parameter` type.

### isOptional

public static boolean isOptional(Class<? extends IComputationStrategy.Parameter<?>> paramType)
Returns `true` if an instance of the given `IComputationStrategy.Parameter` type is optional. Otherwise returns `false`.

Parameters:
  `paramType` - The `IComputationStrategy.Parameter` type for which to determine optionality.
Returns:
  `true` if an instance of the given `IComputationStrategy.Parameter` type is optional, otherwise `false`.

### bind

public void bind(javafx.beans.value.ObservableValue<? extends T> newObservable)

Specified by:
  `bind` in interface `javafx.beans.property.Property<T>`
Overrides:
  `bind` in class `javafx.beans.property.ObjectPropertyBase<T>`

### getBean

public Object getBean()

### getKind

public final IComputationStrategy.Parameter.Kind getKind()
Retrieves the `IComputationStrategy.Parameter.Kind` of this parameter, which indicates whether a single value may be shared to compute the positions of all attached `AnchorKey`s or not.

Returns:
  The parameter `IComputationStrategy.Parameter.Kind`.

### getName

public String getName()

### invalidateBinding

public void invalidateBinding()
If this parameter is bound, can be used to invalidate the underlying binding, so that the value is re-computed.

### isOptional

public final boolean isOptional()
Indicates whether this parameter is optional

Returns:
  `true` if the parameter is optional, `false` otherwise.

### unbind

public void unbind()

Specified by:
  `unbind` in interface `javafx.beans.property.Property<T>`
Overrides:
  `unbind` in class `javafx.beans.property.ObjectPropertyBase<T>`