P
- the kind of station or perspective using this converterN
- the type of a single nodeD
- the type representing a Dockable
public abstract class AbstractSplitPlaceholderConverter<P,N,D> extends Object
SplitDockStation
and SplitDockPerspective
, allows to create
and read PlaceholderMap
s.Constructor and Description |
---|
AbstractSplitPlaceholderConverter(P station)
Creates a new converter
|
Modifier and Type | Method and Description |
---|---|
protected abstract SplitDockTree<D> |
createTree()
Creates a new
SplitDockTree which will be used for dropTree(Object, SplitDockTree) . |
protected abstract void |
dropTree(P station,
SplitDockTree<D> tree)
Updates
station such that its layout looks as described by tree . |
protected abstract double |
getDivider(N node)
Gets the divider location of the
intermediate node node . |
protected abstract D |
getDockable(N leaf)
Gets the dockable of the
leaf node leaf . |
protected abstract long |
getId(N node)
Gets the unique identifier that was assigned to
node . |
protected abstract N |
getLeftChild(N node)
Gets the left child of the
intermediate node node . |
protected abstract SplitDockStation.Orientation |
getOrientation(N node)
Gets the orientation of the
intermediate node node . |
protected abstract Path |
getPlaceholderFor(D dockable)
Gets a placeholder that is to be used for
dockable . |
protected abstract PlaceholderMap |
getPlaceholderMap(N node)
Gets the
PlaceholderMap which is associated with node . |
PlaceholderMap |
getPlaceholders()
Converts the station of this converter into a
PlaceholderMap . |
protected abstract Path[] |
getPlaceholders(N node)
Gets all placeholders that are associated with
node . |
protected abstract PlaceholderStrategy |
getPlaceholderStrategy(P station)
Gets the
PlaceholderStrategy that is used by station to filter
its children. |
protected abstract N |
getRightChild(N node)
Gets the right child of the
intermediate node node . |
protected abstract N |
getRoot(P station)
Gets the root node of the tree that describes the layout of
station . |
protected abstract N |
getRootChild(N root)
Gets the child of the
root node root . |
P |
getStation()
Gets the station for which this converter is used.
|
protected abstract boolean |
isLeaf(N node)
Tells whether
node is a leaf node. |
protected abstract boolean |
isNode(N node)
Tells whether
node is an intermediate node. |
protected abstract boolean |
isPlaceholder(N node)
Tells whether
node is a placeholder node. |
protected abstract boolean |
isRoot(N node)
Tells whether
node is a root node. |
void |
setPlaceholders(PlaceholderMap map)
Reads
map and updates the contents of the SplitDockStation that is
related to this converter. |
public AbstractSplitPlaceholderConverter(P station)
station
- the station for which the converter will be usedpublic P getStation()
public PlaceholderMap getPlaceholders()
PlaceholderMap
.SplitDockStation.getPlaceholders()
public void setPlaceholders(PlaceholderMap map)
map
and updates the contents of the SplitDockStation
that is
related to this converter.map
- the map to readSplitDockStation.setPlaceholders(PlaceholderMap)
protected abstract N getRoot(P station)
station
.station
- the station whose root node is searchedprotected abstract PlaceholderStrategy getPlaceholderStrategy(P station)
PlaceholderStrategy
that is used by station
to filter
its children.station
- the station whose PlaceholderStrategy
is searchedprotected abstract boolean isRoot(N node)
node
is a root node.node
- the node to checktrue
if node
is a root nodeprotected abstract boolean isNode(N node)
node
is an intermediate node.node
- the node to checktrue
if node
is an intermediate nodeprotected abstract boolean isLeaf(N node)
node
is a leaf node.node
- the node to checktrue
if node
is a leaf nodeprotected abstract boolean isPlaceholder(N node)
node
is a placeholder node.node
- the node to checktrue
if node
is a placeholder nodeprotected abstract Path[] getPlaceholders(N node)
node
.node
- the node whose placeholders are searchedprotected abstract PlaceholderMap getPlaceholderMap(N node)
PlaceholderMap
which is associated with node
.node
- the node whose PlaceholderMap
is searchednull
protected abstract long getId(N node)
node
.node
- some node whose id is searchedprotected abstract N getRootChild(N root)
root node
root
.root
- a root noderoot
protected abstract N getLeftChild(N node)
intermediate node
node
.node
- an intermediate nodenode
protected abstract N getRightChild(N node)
intermediate node
node
.node
- an intermediate nodenode
protected abstract double getDivider(N node)
intermediate node
node
.node
- an intermediate nodenode
protected abstract SplitDockStation.Orientation getOrientation(N node)
intermediate node
node
.node
- an intermediate nodenode
protected abstract D getDockable(N leaf)
leaf node
leaf
.leaf
- a leaf nodeleaf
protected abstract Path getPlaceholderFor(D dockable)
dockable
.dockable
- some item whose placeholder is searchednull
protected abstract SplitDockTree<D> createTree()
SplitDockTree
which will be used for dropTree(Object, SplitDockTree)
.null
protected abstract void dropTree(P station, SplitDockTree<D> tree)
station
such that its layout looks as described by tree
.station
- the station whose layout gets updatedtree
- the new layout