Package org.freeplane.api
Interface NodeRO
- All Known Subinterfaces:
- Node,- Proxy.Node,- Proxy.NodeRO
public interface NodeRO
The currently selected node: 
node - read-only.- 
Method SummaryModifier and TypeMethodDescriptionReturns a list of all nodes matching given path.Returns a single node located by path given as a string argument.find(boolean withAncestors, boolean withDescendants, NodeCondition condition) Starting from this node, recursively searches for nodes for whichcondition.check(node)returns true and adds their ancestor or descendant nodes if required.find(NodeCondition condition) Starting from this node, recursively searches for nodes for whichclosure.call(node)returns true.findAll()Returns all nodes of the branch that starts with this node in breadth-first order.Returns all nodes of the branch that starts with this node in depth-first order.getAlias()Alias of the nodeallows to access attribute values like array elements.byte[]Returns a BASE64 encoded node text (seeNode.setBinary(byte[])) as a binary object.intgetChildPosition(Node childNode) returns the index (0..) of this node in the (by Y coordinate sorted) list of this node's children.returns the children of this node ordered by Y coordinate.getCloud()a reference to an accessor object for cloud properties of this node.Collection<? extends Connector> Collection<? extends Connector> intThe count of node sharing their content with this node.intThe count of nodes sharing their content and subtree with this node.returns the text of the details as a Convertible likegetNote()for notes: node.details.to.plain plain text of the node, possibly after formula evaluation node.details.plain the same.Returns details content type.returns the raw HTML text of the details if there is any or null otherwise.Plain or HTML text of this node after possible transformation (formula evaluation, formatting, ...) and after text shortening.returns the format string of the formatter if available and null otherwise.booleanreturns true if node details are hidden.default intdefault intThe node text as HTML markup.getIcons()a reference to an accessor object for icons of this node.getId()booleanTrue if the node can be accessed using global accessor, seeat(String)getLink()a reference to an accessor object for link properties of this node.default MapgetMap()Deprecated.The mind map this node belongs to.default intdefault intgetNext()returns the next node with respect to this node in depth-first order.Deprecated.since 1.2 - use Node.getId() instead.intgetNodeLevel(boolean countHidden) if countHidden is false then only nodes that are matched by the current filter are counted.The count of nodes sharing their content with this node.The nodes sharing their content and subtree with this node.getNote()returns the text of the note as a Convertible.Returns note content type.Returns the HTML text of the note.The object that's displayed as the node text - normally the raw text of this node (then this method is equivalent togetText()).Deprecated.since 1.2 - usegetParent()instead.a list of all nodes starting from this node upto (and including) the root node.Plain text after removal of possible HTML markup.Deprecated.since 1.2 - use getPlainText() or getTo().getPlain() instead.returns the previous node with respect to this node in depth-first order.use it to create and inspectReminders.Plain text of this node after possible transformation and forced text shortening.getStyle()The style attributes of a node can either be changed by assigning a named style like this:getTags()getText()Raw text of this node which might be plain or HTML text.getTo()returns an object that performs conversions (method name is choosen to give descriptive code): node.to.num Long or Double, seeConvertible.getDate().Plain or HTML text of this node after possible transformation (formula evaluation, formatting, ...).getValue()an alias forgetTo().default intdefault intbooleanreturns true if the node has the style of this name - either manually set or as a conditional style or it is "default" which all nodes have.booleanreturns true if p is a parent, or grandparent, ...booleanisFolded()if this node is folded.booleanisFree()returns true if this node is freely positionable.booleanisLeaf()default booleanisLeft()Deprecated.since 1.11.1 - useisTopOrLeft()default booleanisLeftOnViewsWithRoot(NodeRO viewRoot) Deprecated.since 1.11.1 - useinvalid reference#isTopOrLeftOnViewsWithRoot()booleanif this node's text is shortened for display.booleanisRoot()booleanbooleanisTopOrLeftOnViewsWithRoot(NodeRO viewRoot) booleanif this node is visible or not (due to filtering).booleanisVisibleOnViewsWithRoot(NodeRO viewRoot) if this node is visible or not (due to filtering).
- 
Method Details- 
atReturns a single node located by path given as a string argument.If no node or more than one node is available at the specified position, NodeNotFoundExceptionis thrown.The path is a concatenation of path elements described below. Path examples:node.at(":'house'/'kitchen'/~chairs/~2") - take global node with text 'house', - in its subtree node find with text 'kitchen' - find its child node with alias 'chairs' - return the second child node of the chairs node.at(".. 'house'/**/~dog") -- return node with alias 'dog' within subtree of ancestor node with text 'house'Following path elements are defined:Child node:'node text' or /"node text" : child node with text 'node text' 'node...' : child node containing text starting with 'node' * or '...' : any child node ~1 : child node at position 1 ( any number starting with 1 is allowed) ~nodeAlias : child node with alias 'nodeAlias', node alias can not be a number because numbers are reserved for the previous selector. Descendant node:/**/ Parent node:.. Ancestor node:..'node text' or "node text" : the closest ancestor node with text 'node text' ..'node...' : the closest ancestor node containing text starting with 'node' ..~2 : second ancestor node also the parent node of the parent node (any positive number is allowed) ..~nodeAlias : the closest ancestor node with alias 'nodeAlias', node alias can not be a number Root nodePrefix/as the first path character means the path starts from the root node./'node text' or /"node text" : child node of the root with text 'node text' /'node...' : child node of the root containing text starting with 'node' /~nodeAlias : child node of the root with alias 'nodeAlias', node alias can not be a number Global node(allowed only as the first path element). Here global node is a node carrying global flag which can be set using menu or by script.:'node text' or :"node text" : global node with text 'node text' :'node...' : global node containing text starting with 'node' :~nodeAlias : global node with alias 'nodeAlias', node alias can not be a number - Since:
- 1.7.1
 
- 
allAtReturns a list of all nodes matching given path. It can contain arbitrary node number or be empty. Path syntax is described in theatmethod.- Since:
- 1.7.1
 
- 
getAttributesAttributes getAttributes()
- 
getAtallows to access attribute values like array elements. Note that the returned type is aConvertible, not a String. Nevertheless it behaves like a String in almost all respects, that is, in Groovy scripts it understands all String methods like lenght(), matches() etc.// standard way node.attributes.set("attribute name", "12") // implicitely use getAt() def val = node["attribute name"] // use all conversions that Convertible provides (num, date, string, ...) assert val.num == new Long(12) // or use it just like a string assert val.startsWith("1") // check for availability of an attribute this way: if (node["unknown attribute"]) // surprise: the node has an attribute with key "unknown attribute"- Throws:
- org.freeplane.plugin.script.ExecuteScriptException
- Since:
- 1.2
 
- 
getCloudCloud getCloud()a reference to an accessor object for cloud properties of this node. This property is never null.- Since:
- 1.2
 
- 
getChildPositionreturns the index (0..) of this node in the (by Y coordinate sorted) list of this node's children. Returns -1 if childNode is not a child of this node.
- 
getChildrenreturns the children of this node ordered by Y coordinate.
- 
getConnectorsInCollection<? extends Connector> getConnectorsIn()
- 
getConnectorsOutCollection<? extends Connector> getConnectorsOut()
- 
getDetailsTextString getDetailsText()returns the raw HTML text of the details if there is any or null otherwise.- Since:
- 1.2
 
- 
getDetailsContentTypeString getDetailsContentType()Returns details content type.- Since:
- 1.9.0
 
- 
getDetailsConvertible getDetails()returns the text of the details as a Convertible likegetNote()for notes:- node.details.to.plain plain text of the node, possibly after formula evaluation
- node.details.plain the same.
- node.details.string the same.
- node.details.html the raw html text. No formula evaluation is applied.
- node.details.text the same.
 - Since:
- 1.2
 
- 
getHideDetailsboolean getHideDetails()returns true if node details are hidden.- Since:
- 1.2
 
- 
getExternalObjectExternalObject getExternalObject()
- 
getIconsIcons getIcons()a reference to an accessor object for icons of this node. This property is never null.
- 
getLinkLink getLink()a reference to an accessor object for link properties of this node. This property is never null.
- 
getReminderReminder getReminder()use it to create and inspectReminders. This property is never null.
- 
getMindMapMindMap getMindMap()The mind map this node belongs to.- Since:
- 1.7.10
 
- 
getMapDeprecated.since 1.7.10 - usegetMindMap()The mind map this node belongs to.- Since:
- 1.7.5
 
- 
getNodeIDDeprecated.since 1.2 - use Node.getId() instead.
- 
getIdString getId()- Since:
- 1.2
 
- 
getNodeLevelint getNodeLevel(boolean countHidden) if countHidden is false then only nodes that are matched by the current filter are counted.
- 
getNoteConvertible getNote()returns the text of the note as a Convertible. Convertibles behave like Strings in most respects. Additionally String methods are overridden to handle Convertible arguments as if the argument were the result of Convertible.getText().- node.note.to.plain plain text of the note, possibly after formula evaluation
- node.note.plain the same.
- node.note.text the same.
- node.note.html the raw html text. No formula evaluation is applied.
- node.note.string the same.
 - Returns:
- Convertible getString(), getText() and toString() will return plain text instead of the HTML.
         Use getNoteText()to get the HTML text.
- Throws:
- org.freeplane.plugin.script.ExecuteScriptException
- Since:
- 1.2
 
- 
getNoteTextString getNoteText()Returns the HTML text of the note. (Notes always contain HTML text.)- Throws:
- org.freeplane.plugin.script.ExecuteScriptException
 
- 
getNoteContentTypeString getNoteContentType()Returns note content type.- Since:
- 1.9.0
 
- 
getParentNode getParent()- Since:
- 1.2
 
- 
getParentNodeDeprecated.since 1.2 - usegetParent()instead.
- 
getAliasString getAlias()Alias of the node- Since:
- 1.7.1
 
- 
getIsGlobalboolean getIsGlobal()True if the node can be accessed using global accessor, seeat(String)- Since:
- 1.7.1
 
- 
getPathToRoota list of all nodes starting from this node upto (and including) the root node.def path = pathToRoot.collect{ it.plainText }.join('.')- Since:
- 1.3.3
 
- 
getNextNode getNext()returns the next node with respect to this node in depth-first order. Returns null if this node is the only one in the map.
- 
getPreviousNode getPrevious()returns the previous node with respect to this node in depth-first order. Returns null if this node is the only one in the map.
- 
getStyleNodeStyle getStyle()The style attributes of a node can either be changed by assigning a named style like this:node.style.name = 'style.ok' or by changing attributes for this node individually like this:node.style.textColorCode = '#FF0000' Conditional styles of a node can only be investigated byhasStyle(String). Here a script that creates an index of all nodes having the style 'todo':def todos = node.map.root.createChild('To Do') c.find{ it.hasStyle('todo') }.each { def child = todos.createChild(it.text) child.link.node = it }
- 
hasStylereturns true if the node has the style of this name - either manually set or as a conditional style or it is "default" which all nodes have. The following statement will always be true:- Since:
- 1.2
 
- 
getConditionalStylesConditionalStyles getConditionalStyles()- Since:
- 1.11.1
 
- 
getTextString getText()Raw text of this node which might be plain or HTML text. Possible transformations (formula evaluation, formatting, ...) are not applied.See -  getPlainText()for plain text or useHtmlUtils.htmlToPlain(String).
-  getHtmlText()for HTML text or useHtmlUtils.plainToHTML(String).
-  getTransformedText()orgetValue()for text after formula evaluation.
-  getObject()for possible typed content.
-  getTo()for text/object conversions.
 - Since:
- 1.2
 
-  
- 
getPlainTextString getPlainText()Plain text after removal of possible HTML markup. Possible transformations (formula evaluation, formatting, ...) are not applied.- Since:
- 1.2
 
- 
getPlainTextContentDeprecated.since 1.2 - use getPlainText() or getTo().getPlain() instead.Plain text after removal of possible HTML markup. Formulas are not evaluated.
- 
getHtmlTextString getHtmlText()The node text as HTML markup. Returns the same asgetText()if the node text already is HTML or converts the plain text to HTML otherwise.- Since:
- 1.2
 
- 
getTransformedTextString getTransformedText()Plain or HTML text of this node after possible transformation (formula evaluation, formatting, ...).- Since:
- 1.2
 
- 
getDisplayedTextString getDisplayedText()Plain or HTML text of this node after possible transformation (formula evaluation, formatting, ...) and after text shortening. SeeisMinimized()for node shortening.- Since:
- 1.2
 
- 
getShortTextString getShortText()Plain text of this node after possible transformation and forced text shortening.- Since:
- 1.2
 
- 
getObjectObject getObject()The object that's displayed as the node text - normally the raw text of this node (then this method is equivalent togetText()). But in case of typed content (for numbers, dates and calendars)getObject()returns a properIFormattedObject. UsegetPlainText()to remove HTML. SeeNode.setObject(Object)for details.- Since:
- 1.2
 
- 
getFormatString getFormat()returns the format string of the formatter if available and null otherwise.- Since:
- 1.2
 
- 
getToConvertible getTo()returns an object that performs conversions (method name is choosen to give descriptive code):- node.to.num
- Long or Double, see Convertible.getDate().
- node.to.date
- Date, see Convertible.getDate().
- node.to.string
- Text, see Convertible.getString().
- node.to.text
- an alias for getString(), see Convertible.getText().
- node.to.object
- returns what fits best, see Convertible.getObject().
 - Returns:
- ConvertibleObject
- Throws:
- org.freeplane.plugin.script.ExecuteScriptException- on formula evaluation errors
- Since:
- 1.2
 
- 
getValueConvertible getValue()an alias forgetTo().- Throws:
- org.freeplane.plugin.script.ExecuteScriptException- on formula evaluation errors
- Since:
- 1.2
 
- 
getBinarybyte[] getBinary()Returns a BASE64 encoded node text (seeNode.setBinary(byte[])) as a binary object. Errors are signaled by a null return value. Whitespace characters are ignored.
 Note that this method is not able to catch all encoding errors!- Since:
- 1.2
 
- 
isDescendantOfreturns true if p is a parent, or grandparent, ... of this node, or if it is equal to this node; returns false otherwise.
- 
isFoldedboolean isFolded()if this node is folded. Note that the folding state only concerns the visibility of the child nodes.
- 
isFreeboolean isFree()returns true if this node is freely positionable.- Since:
- 1.2
 
- 
isLeafboolean isLeaf()
- 
isLeftDeprecated.since 1.11.1 - useisTopOrLeft()- Since:
- 1.10.4
 
- 
isTopOrLeftboolean isTopOrLeft()- Since:
- 1.11.1
 
- 
isLeftOnViewsWithRootDeprecated.since 1.11.1 - useinvalid reference#isTopOrLeftOnViewsWithRoot()- Since:
- 1.10.4
 
- 
isTopOrLeftOnViewsWithRoot- Since:
- 1.11.1
 
- 
isRootboolean isRoot()
- 
getSideAtRootSide getSideAtRoot()- Since:
- 1.10.4
 
- 
isVisibleboolean isVisible()if this node is visible or not (due to filtering). Node folding and view roots are not considered. SeeisFolded()for folding state.
- 
isVisibleOnViewsWithRootif this node is visible or not (due to filtering). Node folding is not considered.- Since:
- 1.10.4
 
- 
isMinimizedboolean isMinimized()if this node's text is shortened for display.
- 
getCountNodesSharingContentint getCountNodesSharingContent()The count of node sharing their content with this node. Useif (node.countNodesSharingContent() > 0)to check if a node has any clones.
 Note:getCountNodesSharingContent()≥getCountNodesSharingContentAndSubtree().- Returns:
- 0 if this node is standalone or the number of other nodes sharing content otherwise.
- Since:
- 1.5
- See Also:
 
- 
getCountNodesSharingContentAndSubtreeint getCountNodesSharingContentAndSubtree()The count of nodes sharing their content and subtree with this node.
 Note:getCountNodesSharingContent()≥getCountNodesSharingContentAndSubtree().- Returns:
- 0 if this node has no other nodes it is sharing its content and subtree with or its count otherwise.
- Since:
- 1.5
- See Also:
 
- 
getNodesSharingContentThe count of nodes sharing their content with this node.
 Note:getCountNodesSharingContent()≥getCountNodesSharingContentAndSubtree().- Returns:
- 0 if this node is standalone or the number of other nodes sharing content otherwise.
- Since:
- 1.5
- See Also:
 
- 
getNodesSharingContentAndSubtreeThe nodes sharing their content and subtree with this node.- Returns:
- 0 if this node has no other nodes it is sharing its content and subtree with or its count otherwise.
- Since:
- 1.5
- See Also:
 
- 
findStarting from this node, recursively searches for nodes for whichclosure.call(node)returns true. SeeControllerRO.find(NodeCondition)for details.
- 
findStarting from this node, recursively searches for nodes for whichcondition.check(node)returns true and adds their ancestor or descendant nodes if required.- Since:
- 1.7.4
 See ControllerRO.find(NodeCondition)for details.
 
- 
findAllReturns all nodes of the branch that starts with this node in breadth-first order. SeeControllerRO.findAll()for map-global searches.- Since:
- 1.2
 
- 
findAllDepthFirstReturns all nodes of the branch that starts with this node in depth-first order. SeeControllerRO.findAllDepthFirst()for map-global searches.- Since:
- 1.2
 
- 
getLastModifiedAtDate getLastModifiedAt()
- 
getCreatedAtDate getCreatedAt()
- 
getHorizontalShiftdefault int getHorizontalShift()- Since:
- 1.3.7
 
- 
getVerticalShiftdefault int getVerticalShift()- Since:
- 1.3.7
 
- 
getMinimalDistanceBetweenChildrendefault int getMinimalDistanceBetweenChildren()- Since:
- 1.3.7
 
- 
getHorizontalShiftInScreenPixelsdefault int getHorizontalShiftInScreenPixels()- Since:
- 1.8.11
 
- 
getVerticalShiftInScreenPixelsdefault int getVerticalShiftInScreenPixels()- Since:
- 1.8.11
 
- 
getMinimalDistanceBetweenChildrenInScreenPixelsdefault int getMinimalDistanceBetweenChildrenInScreenPixels()- Since:
- 1.8.11
 
- 
getVerticalShiftAsLengthQuantity<LengthUnit> getVerticalShiftAsLength()- Since:
- 1.8.11
 
- 
getMinimalDistanceBetweenChildrenAsLengthQuantity<LengthUnit> getMinimalDistanceBetweenChildrenAsLength()- Since:
- 1.8.11
 
- 
getBaseDistanceToChildrenAsLengthQuantity<LengthUnit> getBaseDistanceToChildrenAsLength()- Since:
- 1.11.1
 
- 
getHorizontalShiftAsLengthQuantity<LengthUnit> getHorizontalShiftAsLength()- Since:
- 1.8.11
 
- 
getLayoutOrientationLayoutOrientation getLayoutOrientation()- Since:
- 1.11.1
 
- 
getChildNodesLayoutChildNodesLayout getChildNodesLayout()- Since:
- 1.11.1
 
- 
getGeometryNodeGeometryRO getGeometry()- Since:
- 1.8.11
 
- 
getPrecedentsDependencyLookup getPrecedents()- Since:
- 1.7.2
 
- 
getDependentsDependencyLookup getDependents()- Since:
- 1.7.2
 
- 
getBranchAsTextOutlineString getBranchAsTextOutline()- Since:
- 1.11.3
 
- 
getTagsTagsRO getTags()- Since:
- 1.12.1
 
 
- 
getMindMap()