## 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
`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