com.togethersoft.openapi.modelnavigator
Interface NavigatorService


public interface NavigatorService

Utility interface presents most of navigator's functionality.
Use navigator's View.getService(NavigatorService.class) to
get access to implementation of this class for your navigator.

Author:
TogetherSoft

Method Summary
 voidaddActionProvider(ActionProvider actionProvider)
          Adds ActionProvider object used for generating popup menues
and for processing default action on double click on navigator's nodes.
 voidaddComparator(NavigatorComparator comparator)
          Adds comparator used for sorting navigator nodes.
 voidaddFilter(UnaryCondition filter)
          Adds filter that can filter out unnecessary model elements
that should not be shown in navigator.
 voidaddRoot(Entity root)
          Adds model Entity as root node.
 voidaddSelectionCollection(ReferenceCollection collection)
          Registers ReferenceCollection to be used as storage for
Reference objects referencing model Element
currently selected in navigator.
 voidaddSelectionListener(NavigatorSelectionListener listener)
          Registers NavigatorSelectionListener objects that listen
for selection changes in navigator.
 booleancanMakeRoot(NavigatorTreeNode node)
          Indicates whether specified node can be set as root.
 booleancanRestoreRoot(NavigatorTreeNode node)
          Indicates whether specified node was previously used as root
and can be restored as a root node.
 voidclearRoots()
          Removes all navigator roots.
 voidenableDragAndDrop(boolean enable)
          Enables or disables drag and drop editing of navigator tree structure.
 voidenableInplaceEditing(boolean enable)
          Enables or disables inplace editing of nodes.
 voidenableSelectionListeners(boolean enable)
          Enables and disables updating registered selection ReferenceCollection
update on changing navigator's selection.
 voidexpandPathToElement(Element element)
          Expands all the parents of node representing given Element
to make it visible.
 LeafResolvergetLeafResolver()
          Returns LeafResolver used in navigator.
 Entity[]getRoots()
          Returns an array of current navigator root entities.
 NavigatorTreeNode[]getSelection()
          Returns currently selected navigator's nodes.
 voidmakeRoot(NavigatorTreeNode node)
          Sets specified node as root navigator node.
 voidremoveRoot(Entity root)
          Removes root node for given Entity.
 voidrestoreRoot(NavigatorTreeNode node)
          Restores node previously used as root to be a root node.
 voidsetInplaceEditingProperty(String propertyName)
          Sets the name of a property that will be edited on inplace editing.
 voidsetLeafResolver(LeafResolver leafResolver)
          Sets LeafResolver object that indicates whether navigator
node can have children.
 voidstartInplaceEditing(NavigatorTreeNode node)
          Starts inplace editing of specified node.
 voidstartInplaceEditing(Element element)
          Starts inplace editing of a node representing given model Element

Method Detail

addActionProvider

public void addActionProvider(ActionProvider actionProvider)
Adds ActionProvider object used for generating popup menues
and for processing default action on double click on navigator's nodes.
Parameters:
ActionProvider object.

addComparator

public void addComparator(NavigatorComparator comparator)
Adds comparator used for sorting navigator nodes.
Parameters:
comparator NavigatorComparator object

addFilter

public void addFilter(UnaryCondition filter)
Adds filter that can filter out unnecessary model elements
that should not be shown in navigator. Filter should implement
UnaryCondition interface. Model Element
is passed as parameter to filter.
Parameters:
filter Filter that indicates whether model Element
should be shown in navigator.

addRoot

public void addRoot(Entity root)
Adds model Entity as root node.
Use this method after navigator's View object creation to fill in
navigator roots.
Parameters:
root Entity object used as root

addSelectionCollection

public void addSelectionCollection(ReferenceCollection collection)
Registers ReferenceCollection to be used as storage for
Reference objects referencing model Element
currently selected in navigator. Adding and removing references from
this collection will select or unselect appropriate nodes in navigator.
Parameters:
collection ReferenceCollection to store navigator's
selection

addSelectionListener

public void addSelectionListener(NavigatorSelectionListener listener)
Registers NavigatorSelectionListener objects that listen
for selection changes in navigator.
Parameters:
listener NavigatorSelectionListener object

canMakeRoot

public boolean canMakeRoot(NavigatorTreeNode node)
Indicates whether specified node can be set as root.
Parameters:
node NavigatorTreeNode to use as new root

canRestoreRoot

public boolean canRestoreRoot(NavigatorTreeNode node)
Indicates whether specified node was previously used as root
and can be restored as a root node.
Parameters:
node NavigatorTreeNode to be restored as root

clearRoots

public void clearRoots()
Removes all navigator roots.

enableDragAndDrop

public void enableDragAndDrop(boolean enable)
Enables or disables drag and drop editing of navigator tree structure.
Drag and drop is disabled by default.
Parameters:
enable true to enable drag and drop, false
to disable

enableInplaceEditing

public void enableInplaceEditing(boolean enable)
Enables or disables inplace editing of nodes. Disabled by default.
Property.NAME is edited by default.
Parameters:
enable true to enable inplace editing, false
to disable

enableSelectionListeners

public void enableSelectionListeners(boolean enable)
Enables and disables updating registered selection ReferenceCollection
update on changing navigator's selection. Updating is enabled by default.
Parameters:
enable true for enabling reference collection update
and false otherwise

expandPathToElement

public void expandPathToElement(Element element)
Expands all the parents of node representing given Element
to make it visible.
Parameters:
element Element that should be visible on the screen

getLeafResolver

public LeafResolver getLeafResolver()
Returns LeafResolver used in navigator.
Returns: LeafResolver object

getRoots

public Entity[] getRoots()
Returns an array of current navigator root entities.
Returns: Array of root Entity objects

getSelection

public NavigatorTreeNode[] getSelection()
Returns currently selected navigator's nodes.
Returns: Selected NavigatorTreeNode array

makeRoot

public void makeRoot(NavigatorTreeNode node)
Sets specified node as root navigator node.
Parameters:
node NavigatorTreeNode to use as new root

removeRoot

public void removeRoot(Entity root)
Removes root node for given Entity.
Parameters:
root Entity object to remove from roots

restoreRoot

public void restoreRoot(NavigatorTreeNode node)
Restores node previously used as root to be a root node.
Parameters:
node NavigatorTreeNode to be restored as root

setInplaceEditingProperty

public void setInplaceEditingProperty(String propertyName)
Sets the name of a property that will be edited on inplace editing.
Parameters:
propertyName String representing the name of a property

setLeafResolver

public void setLeafResolver(LeafResolver leafResolver)
Sets LeafResolver object that indicates whether navigator
node can have children. If LeafResolver is not set, all
navigator nodes can have children by default.
Parameters:
leafResolver LeafResolver implementation

startInplaceEditing

public void startInplaceEditing(NavigatorTreeNode node)
Starts inplace editing of specified node.
Parameters:
NavigatorTreeNode which will be edited

startInplaceEditing

public void startInplaceEditing(Element element)
Starts inplace editing of a node representing given model Element
Parameters:
element Model Element that will be edited