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
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description java.util.List<? extends Node>
allAt(java.lang.String path)
Returns a list of all nodes matching given path.Node
at(java.lang.String path)
Returns a single node located by path given as a string argument.java.util.List<? extends Node>
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.java.util.List<? extends Node>
find(NodeCondition condition)
Starting from this node, recursively searches for nodes for whichclosure.call(node)
returns true.java.util.List<? extends Node>
findAll()
Returns all nodes of the branch that starts with this node in breadth-first order.java.util.List<? extends Node>
findAllDepthFirst()
Returns all nodes of the branch that starts with this node in depth-first order.java.lang.String
getAlias()
Alias of the nodeConvertible
getAt(java.lang.String attributeName)
allows to access attribute values like array elements.Attributes
getAttributes()
byte[]
getBinary()
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.java.util.List<? extends Node>
getChildren()
returns the children of this node ordered by Y coordinate.Cloud
getCloud()
a reference to an accessor object for cloud properties of this node.java.util.Collection<? extends Connector>
getConnectorsIn()
java.util.Collection<? extends Connector>
getConnectorsOut()
int
getCountNodesSharingContent()
The count of node sharing their content with this node.int
getCountNodesSharingContentAndSubtree()
The count of nodes sharing their content and subtree with this node.java.util.Date
getCreatedAt()
DependencyLookup
getDependents()
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.java.lang.String
getDetailsText()
returns the raw HTML text of the details if there is any or null otherwise.java.lang.String
getDisplayedText()
Plain or HTML text of this node after possible transformation (formula evaluation, formatting, ...) and after text shortening.ExternalObject
getExternalObject()
java.lang.String
getFormat()
returns the format string of the formatter if available and null otherwise.boolean
getHideDetails()
returns true if node details are hidden.int
getHorizontalShift()
java.lang.String
getHtmlText()
The node text as HTML markup.Icons
getIcons()
a reference to an accessor object for icons of this node.java.lang.String
getId()
boolean
getIsGlobal()
True if the node can be accessed using global accessor, seeat(String)
java.util.Date
getLastModifiedAt()
Link
getLink()
a reference to an accessor object for link properties of this node.Map
getMap()
the map this node belongs to.int
getMinimalDistanceBetweenChildren()
Node
getNext()
returns the next node with respect to this node in depth-first order.java.lang.String
getNodeID()
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.java.util.List<? extends Node>
getNodesSharingContent()
The count of nodes sharing their content with this node.java.util.List<? extends Node>
getNodesSharingContentAndSubtree()
The nodes sharing their content and subtree with this node.Convertible
getNote()
returns the text of the details as a Convertible.java.lang.String
getNoteText()
Returns the HTML text of the node.java.lang.Object
getObject()
The object that's displayed as the node text - normally the raw text of this node (then this method is equivalent togetText()
).Node
getParent()
Node
getParentNode()
Deprecated.since 1.2 - usegetParent()
instead.java.util.List<? extends Node>
getPathToRoot()
a list of all nodes starting from this node upto (and including) the root node.java.lang.String
getPlainText()
Plain text after removal of possible HTML markup.java.lang.String
getPlainTextContent()
Deprecated.since 1.2 - use getPlainText() or getTo().getPlain() instead.DependencyLookup
getPrecedents()
Node
getPrevious()
returns the previous node with respect to this node in depth-first order.Reminder
getReminder()
use it to create and inspectReminder
s.java.lang.String
getShortText()
Plain text of this node after possible transformation and forced text shortening.NodeStyle
getStyle()
The style attributes of a node can either be changed by assigning a named style like this:java.lang.String
getText()
Raw text of this node which might be plain or HTML text.Convertible
getTo()
returns an object that performs conversions (method name is choosen to give descriptive code): node.to.num Long or Double, seeConvertible.getDate()
.java.lang.String
getTransformedText()
Plain or HTML text of this node after possible transformation (formula evaluation, formatting, ...).Convertible
getValue()
an alias forgetTo()
.int
getVerticalShift()
boolean
hasStyle(java.lang.String styleName)
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
isDescendantOf(Node p)
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()
boolean
isLeft()
boolean
isMinimized()
if this node's text is shortened for display.boolean
isRoot()
boolean
isVisible()
if this node is visible or not (due to filtering).
-
-
-
Method Detail
-
at
Node at(java.lang.String path)
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
java.util.List<? extends Node> allAt(java.lang.String path)
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
Convertible getAt(java.lang.String attributeName)
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
int getChildPosition(Node childNode)
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
java.util.List<? extends Node> getChildren()
returns the children of this node ordered by Y coordinate.
-
getConnectorsIn
java.util.Collection<? extends Connector> getConnectorsIn()
-
getConnectorsOut
java.util.Collection<? extends Connector> getConnectorsOut()
-
getDetailsText
java.lang.String getDetailsText()
returns the raw HTML text of the details if there is any or null otherwise.- Since:
- 1.2
-
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.
-
getMap
Map getMap()
the map this node belongs to.
-
getNodeID
@Deprecated java.lang.String getNodeID()
Deprecated.since 1.2 - use Node.getId() instead.
-
getId
java.lang.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 details 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 node, 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
java.lang.String getNoteText()
Returns the HTML text of the node. (Notes always contain HTML text.)- Throws:
org.freeplane.plugin.script.ExecuteScriptException
-
getParent
Node getParent()
- Since:
- 1.2
-
getParentNode
@Deprecated Node getParentNode()
Deprecated.since 1.2 - usegetParent()
instead.
-
getAlias
java.lang.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
java.util.List<? extends Node> 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
boolean hasStyle(java.lang.String styleName)
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
-
getText
java.lang.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
java.lang.String getPlainText()
Plain text after removal of possible HTML markup. Possible transformations (formula evaluation, formatting, ...) are not applied.- Since:
- 1.2
-
getPlainTextContent
@Deprecated java.lang.String getPlainTextContent()
Deprecated.since 1.2 - use getPlainText() or getTo().getPlain() instead.Plain text after removal of possible HTML markup. Formulas are not evaluated.
-
getHtmlText
java.lang.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
java.lang.String getTransformedText()
Plain or HTML text of this node after possible transformation (formula evaluation, formatting, ...).- Since:
- 1.2
-
getDisplayedText
java.lang.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
java.lang.String getShortText()
Plain text of this node after possible transformation and forced text shortening.- Since:
- 1.2
-
getObject
java.lang.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
java.lang.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
boolean isDescendantOf(Node p)
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
boolean isLeft()
-
isRoot
boolean isRoot()
-
isVisible
boolean isVisible()
if this node is visible or not (due to filtering). Node folding is not considered. SeeisFolded()
for folding state.
-
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:
getNodesSharingContent()
,Node.appendAsCloneWithSubtree(Proxy.NodeRO)
,Node.appendAsCloneWithoutSubtree(Proxy.NodeRO)
-
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:
getNodesSharingContentAndSubtree()
,Node.appendAsCloneWithSubtree(Proxy.NodeRO)
,Node.appendAsCloneWithoutSubtree(Proxy.NodeRO)
-
getNodesSharingContent
java.util.List<? extends Node> 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:
getCountNodesSharingContent()
,Node.appendAsCloneWithSubtree(Proxy.NodeRO)
,Node.appendAsCloneWithoutSubtree(Proxy.NodeRO)
-
getNodesSharingContentAndSubtree
java.util.List<? extends Node> 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:
getCountNodesSharingContentAndSubtree()
,Node.appendAsCloneWithSubtree(Proxy.NodeRO)
,Node.appendAsCloneWithoutSubtree(Proxy.NodeRO)
-
find
java.util.List<? extends Node> find(NodeCondition condition)
Starting from this node, recursively searches for nodes for whichclosure.call(node)
returns true. SeeControllerRO.find(NodeCondition)
for details.
-
find
java.util.List<? extends Node> 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.- Since:
- 1.7.4
See
ControllerRO.find(NodeCondition)
for details.
-
findAll
java.util.List<? extends Node> 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
java.util.List<? extends Node> 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
java.util.Date getLastModifiedAt()
-
getCreatedAt
java.util.Date getCreatedAt()
-
getHorizontalShift
int getHorizontalShift()
- Since:
- 1.3.7
-
getVerticalShift
int getVerticalShift()
- Since:
- 1.3.7
-
getMinimalDistanceBetweenChildren
int getMinimalDistanceBetweenChildren()
- Since:
- 1.3.7
-
getPrecedents
DependencyLookup getPrecedents()
- Since:
- 1.7.2
-
getDependents
DependencyLookup getDependents()
- Since:
- 1.7.2
-
-