|
org.openide.nodes 7.12.1 | |||||||||
PREV NEXT | FRAMES NO FRAMES |
See:
Description
Nodes API | |
---|---|
org.openide.cookies | Cookies are a design pattern used to add behaviors to existing data object and nodes, or to separate implementation from the main object. |
org.openide.nodes | NetBeans uses nodes to represent JavaBeans or other property containers, formed into a hierarchical tree. |
org.openide.util.actions |
NodeOp.factory is new layer based factory method to allow declarative definition of a root node into the UI.
ChildFactory is useful for creating node children lazily on a background thread, and for simplifying working with Children.Keys. One oversight in the original API was providing for notification that the ChildFactory is no longer in use and should clean up any resources and detach any listeners it can.
ChildFactory.Detachable is an abstract class which adds addNotify() and removeNotify() methods to ChildFactory. addNotify() is called immediately before the first call to createKeys() after creation or a call to removeNotify().
Children.Keys
with lazy behavior can be created by using Children.Keys(boolean lazy)
.
Children.getNodesCount(boolean optimalResult)
can be
used instead of Children.getNodes(boolean optimalResult)
for children "initialization". While keeping same behavior as
Children.getNodes(boolean optimalResult)
for "default"
(non-lazy) implementation it allows full initialization without need to
create all nodes. Children.snapshot()
creates an immutable snapshot representing
the current view of the nodes in this children object. Such snapshots are available in
NodeMemberEvent and
NodeReorderEvent
via getSnapshot()
and provide information about state of nodes
in time when events were emited.
Adding possibility to get node at specific position rather than whole array of nodes.
Added the class ChildFactory and the method Children.create(ChildFactory factory, boolean asynchronous) to the API. This simplifies creation of Node children which need to be computed on a background thread for performance reasons. Anyone wishing to do this can simply extend ChildFactory and pass that to Children.create() to automatically get a Node that will display a Please Wait child node when first expanded. A ChildFactory can either compute all child nodes, or batch them in multiple passes.
ChildFactory can also be used to implement synchronous children,
by setting the asynchronous
parameter passed to
Children.create()
to false. This could replace most
common usages of Children.Keys, and make it easy to switch to
asynchronous child computation if that is determined to be
necessary for performance reasons.
|
|
Read more about the implementation in the answers to architecture questions.
|
org.openide.nodes 7.12.1 | |||||||||
PREV NEXT | FRAMES NO FRAMES |