org.flexdock.docking.floating.policy

## Interface FloatPolicy

All Known Implementing Classes:
  DefaultFloatPolicy, FloatPolicy.NullFloatPolicy

    public interface FloatPolicy

This interface describes a set of method used to determine how floating events should be handled. Classes implementing this interface should be plugged into to the `FloatPolicyManager` to affect floating behavior of the framework at runtime.

Author:
  Christopher Butler

### Nested Class Summary

Nested Classes
`static class` `FloatPolicy.NullFloatPolicy` Provides a default implementation of the FloatPolicy interface.

### Method Summary

Methods
`boolean` `isFloatDropAllowed(DockingEvent evt)` Indicates whether floating should be allowed for the specified `DockingEvent` at the end of a drag operation.
`boolean` `isFloatingAllowed(Dockable dockable)` Returns `true` if floating should be allowed for the specified `Dockable`.

### Method Detail

#### isFloatingAllowed

    boolean isFloatingAllowed(Dockable dockable)

Returns `true` if floating should be allowed for the specified `Dockable`. This method will be invoked by the `FloatPolicyManager` at the beginning of a drag operation to determine whether or not floating support will be enabled for the `Dockable` as a result of the drag. If this method returns `false`, floating will not be allowed for the drag operation against the specified `Dockable`.

Parameters:
  `dockable` - the `Dockable` to be checked for floating support
Returns:
  `true` if floating should be allowed for the specified `Dockable`; `false` otherwise.

#### isFloatDropAllowed

    boolean isFloatDropAllowed(DockingEvent evt)

Indicates whether floating should be allowed for the specified `DockingEvent` at the end of a drag operation. The `FloatPolicyManager` will catch all attempts to float a `Dockable` at the end of a drag operation and invoke this method on all installed `FloatPolicies`. If any of them returns `false`, the docking operation will be canceled.

Parameters:
  `evt` - the `DockingEvent` to be checked for drop-to-float support
Returns:
  `true` if floating should be allowed for the specified `DockingEvent`; `false` otherwise.