org.flexdock.docking.defaults

## Interface BorderManager

All Known Implementing Classes:
  StandardBorderManager

    public interface BorderManager

This interface provides a set of methods used by the `DefaultDockingPort` class to manage border state after docking and undocking operations. This class is necessary because `DefaultDockingPort` is a `DockingPort` implementation that uses nested `Components` to achieve a docking layout. Particularly, `DefaultDockingPort` uses `JSplitPane` and `JTabbedPane`, each of which have their own `Borders` provided by the currently installed PLAF. Nesting these `Components` within one another without proper border management can result in a compound border effect that is displeasing to the eye. This class provides a means by which custom border management behavior may be plugged into the `DefaultDockingPort` in response to various different layout conditions.

Author:
  Chris Butler

### Method Summary

Methods
`void` `managePortNullChild(DockingPort port)` Callback method allowing for customized behavior when the `DefaultDockingPort's` docked component state has changed and there is no longer a component docked within the port.
`void` `managePortSimpleChild(DockingPort port)` Callback method allowing for customized behavior when the `DefaultDockingPort's` docked component state has changed and there is a single generic component docked within the port.
`void` `managePortSplitChild(DockingPort port)` Callback method allowing for customized behavior when the `DefaultDockingPort's` docked component state has changed and the port has been split between two components.
`void` `managePortTabbedChild(DockingPort port)` Callback method allowing for customized behavior when the `DefaultDockingPort's` docked component state has changed and docked components within the `CENTER` region are layed-out within a `JTabbedPane`.

### Method Detail

#### managePortNullChild

    void managePortNullChild(DockingPort port)

Callback method allowing for customized behavior when the `DefaultDockingPort's` docked component state has changed and there is no longer a component docked within the port.

Parameters:
  `port` - the `DockingPort` whose layout borders are to be managed

#### managePortSimpleChild

    void managePortSimpleChild(DockingPort port)

Callback method allowing for customized behavior when the `DefaultDockingPort's` docked component state has changed and there is a single generic component docked within the port. The `Component` may be retrieved by calling `port.getDockedComponent()`.

Parameters:
  `port` - the `DockingPort` whose layout borders are to be managed

#### managePortSplitChild

    void managePortSplitChild(DockingPort port)

Callback method allowing for customized behavior when the `DefaultDockingPort's` docked component state has changed and the port has been split between two components. The `JSPlitPane` may be retrieved by calling `port.getDockedComponent()`.

Parameters:
  `port` - the `DockingPort` whose layout borders are to be managed

#### managePortTabbedChild

    void managePortTabbedChild(DockingPort port)

Callback method allowing for customized behavior when the `DefaultDockingPort's` docked component state has changed and docked components within the `CENTER` region are layed-out within a `JTabbedPane`. The `JTabbedPane` may be retrieved by calling `port.getDockedComponent()`.

Parameters:
  `port` - the `DockingPort` whose layout borders are to be managed