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 Summary
Modifier 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.int
getChildPosition
(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> int
The count of node sharing their content with this node.int
The 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.boolean
returns true if node details are hidden.default int
default int
The node text as HTML markup.getIcons()
a reference to an accessor object for icons of this node.getId()
boolean
True 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 Map
getMap()
Deprecated.The mind map this node belongs to.default int
default int
getNext()
returns the next node with respect to this node in depth-first order.Deprecated.since 1.2 - use Node.getId() instead.int
getNodeLevel
(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 inspectReminder
s.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 int
default int
boolean
returns 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.boolean
returns true if p is a parent, or grandparent, ...boolean
isFolded()
if this node is folded.boolean
isFree()
returns true if this node is freely positionable.boolean
isLeaf()
default boolean
isLeft()
Deprecated.since 1.11.1 - useisTopOrLeft()
default boolean
isLeftOnViewsWithRoot
(NodeRO viewRoot) Deprecated.since 1.11.1 - useinvalid reference
#isTopOrLeftOnViewsWithRoot()
boolean
if this node's text is shortened for display.boolean
isRoot()
boolean
boolean
isTopOrLeftOnViewsWithRoot
(NodeRO viewRoot) boolean
if this node is visible or not (due to filtering).boolean
isVisibleOnViewsWithRoot
(NodeRO viewRoot) if this node is visible or not (due to filtering).
-
Method Details
-
at
Returns 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,
NodeNotFoundException
is 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 node
Prefix/
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
-
allAt
Returns a list of all nodes matching given path. It can contain arbitrary node number or be empty. Path syntax is described in theat
method.- Since:
- 1.7.1
-
getAttributes
Attributes getAttributes() -
getAt
allows 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
-
getCloud
Cloud getCloud()a reference to an accessor object for cloud properties of this node. This property is never null.- Since:
- 1.2
-
getChildPosition
returns 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. -
getChildren
returns the children of this node ordered by Y coordinate. -
getConnectorsIn
Collection<? extends Connector> getConnectorsIn() -
getConnectorsOut
Collection<? extends Connector> getConnectorsOut() -
getDetailsText
String getDetailsText()returns the raw HTML text of the details if there is any or null otherwise.- Since:
- 1.2
-
getDetailsContentType
String getDetailsContentType()Returns details content type.- Since:
- 1.9.0
-
getDetails
Convertible 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
-
getHideDetails
boolean getHideDetails()returns true if node details are hidden.- Since:
- 1.2
-
getExternalObject
ExternalObject getExternalObject() -
getIcons
Icons getIcons()a reference to an accessor object for icons of this node. This property is never null. -
getLink
Link getLink()a reference to an accessor object for link properties of this node. This property is never null. -
getReminder
Reminder getReminder()use it to create and inspectReminder
s. This property is never null. -
getMindMap
MindMap getMindMap()The mind map this node belongs to.- Since:
- 1.7.10
-
getMap
Deprecated.since 1.7.10 - usegetMindMap()
The mind map this node belongs to.- Since:
- 1.7.5
-
getNodeID
Deprecated.since 1.2 - use Node.getId() instead. -
getId
String getId()- Since:
- 1.2
-
getNodeLevel
int getNodeLevel(boolean countHidden) if countHidden is false then only nodes that are matched by the current filter are counted. -
getNote
Convertible 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
-
getNoteText
String getNoteText()Returns the HTML text of the note. (Notes always contain HTML text.)- Throws:
org.freeplane.plugin.script.ExecuteScriptException
-
getNoteContentType
String getNoteContentType()Returns note content type.- Since:
- 1.9.0
-
getParent
Node getParent()- Since:
- 1.2
-
getParentNode
Deprecated.since 1.2 - usegetParent()
instead. -
getAlias
String getAlias()Alias of the node- Since:
- 1.7.1
-
getIsGlobal
boolean getIsGlobal()True if the node can be accessed using global accessor, seeat(String)
- Since:
- 1.7.1
-
getPathToRoot
a 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
-
getNext
Node 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. -
getPrevious
Node 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. -
getStyle
NodeStyle 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 }
-
hasStyle
returns 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
-
getConditionalStyles
ConditionalStyles getConditionalStyles()- Since:
- 1.11.1
-
getText
String 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
-
-
getPlainText
String getPlainText()Plain text after removal of possible HTML markup. Possible transformations (formula evaluation, formatting, ...) are not applied.- Since:
- 1.2
-
getPlainTextContent
Deprecated.since 1.2 - use getPlainText() or getTo().getPlain() instead.Plain text after removal of possible HTML markup. Formulas are not evaluated. -
getHtmlText
String 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
-
getTransformedText
String getTransformedText()Plain or HTML text of this node after possible transformation (formula evaluation, formatting, ...).- Since:
- 1.2
-
getDisplayedText
String 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
-
getShortText
String getShortText()Plain text of this node after possible transformation and forced text shortening.- Since:
- 1.2
-
getObject
Object 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
-
getFormat
String getFormat()returns the format string of the formatter if available and null otherwise.- Since:
- 1.2
-
getTo
Convertible 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
-
getValue
Convertible getValue()an alias forgetTo()
.- Throws:
org.freeplane.plugin.script.ExecuteScriptException
- on formula evaluation errors- Since:
- 1.2
-
getBinary
byte[] 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
-
isDescendantOf
returns true if p is a parent, or grandparent, ... of this node, or if it is equal to this node; returns false otherwise. -
isFolded
boolean isFolded()if this node is folded. Note that the folding state only concerns the visibility of the child nodes. -
isFree
boolean isFree()returns true if this node is freely positionable.- Since:
- 1.2
-
isLeaf
boolean isLeaf() -
isLeft
Deprecated.since 1.11.1 - useisTopOrLeft()
- Since:
- 1.10.4
-
isTopOrLeft
boolean isTopOrLeft()- Since:
- 1.11.1
-
isLeftOnViewsWithRoot
Deprecated.since 1.11.1 - useinvalid reference
#isTopOrLeftOnViewsWithRoot()
- Since:
- 1.10.4
-
isTopOrLeftOnViewsWithRoot
- Since:
- 1.11.1
-
isRoot
boolean isRoot() -
getSideAtRoot
Side getSideAtRoot()- Since:
- 1.10.4
-
isVisible
boolean isVisible()if this node is visible or not (due to filtering). Node folding and view roots are not considered. SeeisFolded()
for folding state. -
isVisibleOnViewsWithRoot
if this node is visible or not (due to filtering). Node folding is not considered.- Since:
- 1.10.4
-
isMinimized
boolean isMinimized()if this node's text is shortened for display. -
getCountNodesSharingContent
int 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:
-
getCountNodesSharingContentAndSubtree
int 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:
-
getNodesSharingContent
The 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:
-
getNodesSharingContentAndSubtree
The 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:
-
find
Starting from this node, recursively searches for nodes for whichclosure.call(node)
returns true. SeeControllerRO.find(NodeCondition)
for details. -
find
Starting 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.
-
findAll
Returns all nodes of the branch that starts with this node in breadth-first order. SeeControllerRO.findAll()
for map-global searches.- Since:
- 1.2
-
findAllDepthFirst
Returns all nodes of the branch that starts with this node in depth-first order. SeeControllerRO.findAllDepthFirst()
for map-global searches.- Since:
- 1.2
-
getLastModifiedAt
Date getLastModifiedAt() -
getCreatedAt
Date getCreatedAt() -
getHorizontalShift
default int getHorizontalShift()- Since:
- 1.3.7
-
getVerticalShift
default int getVerticalShift()- Since:
- 1.3.7
-
getMinimalDistanceBetweenChildren
default int getMinimalDistanceBetweenChildren()- Since:
- 1.3.7
-
getHorizontalShiftInScreenPixels
default int getHorizontalShiftInScreenPixels()- Since:
- 1.8.11
-
getVerticalShiftInScreenPixels
default int getVerticalShiftInScreenPixels()- Since:
- 1.8.11
-
getMinimalDistanceBetweenChildrenInScreenPixels
default int getMinimalDistanceBetweenChildrenInScreenPixels()- Since:
- 1.8.11
-
getVerticalShiftAsLength
Quantity<LengthUnit> getVerticalShiftAsLength()- Since:
- 1.8.11
-
getMinimalDistanceBetweenChildrenAsLength
Quantity<LengthUnit> getMinimalDistanceBetweenChildrenAsLength()- Since:
- 1.8.11
-
getBaseDistanceToChildrenAsLength
Quantity<LengthUnit> getBaseDistanceToChildrenAsLength()- Since:
- 1.11.1
-
getHorizontalShiftAsLength
Quantity<LengthUnit> getHorizontalShiftAsLength()- Since:
- 1.8.11
-
getLayoutOrientation
LayoutOrientation getLayoutOrientation()- Since:
- 1.11.1
-
getChildNodesLayout
ChildNodesLayout getChildNodesLayout()- Since:
- 1.11.1
-
getGeometry
NodeGeometryRO getGeometry()- Since:
- 1.8.11
-
getPrecedents
DependencyLookup getPrecedents()- Since:
- 1.7.2
-
getDependents
DependencyLookup getDependents()- Since:
- 1.7.2
-
getBranchAsTextOutline
String getBranchAsTextOutline()- Since:
- 1.11.3
-
getTags
TagsRO getTags()- Since:
- 1.12.1
-
getMindMap()