Interface NodeRO

    • 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, IllegalArgumentException 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 the at method.
        Since:
        1.7.1
      • getAt

        Convertible getAt​(java.lang.String attributeName)
        allows to access attribute values like array elements. Note that the returned type is a Convertible, 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 like getNote() 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
      • 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 inspect Reminders. 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 - use getParent() 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, see at(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 by hasStyle(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
      • 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 as getText() 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. See isMinimized() 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 to getText()). But in case of typed content (for numbers, dates and calendars) getObject() returns a proper IFormattedObject. Use getPlainText() to remove HTML. See Node.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
      • getValue

        Convertible getValue()
        an alias for getTo().
        Throws:
        org.freeplane.plugin.script.ExecuteScriptException - on formula evaluation errors
        Since:
        1.2
      • getBinary

        byte[] getBinary()
        Returns a BASE64 encoded node text (see Node.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. See isFolded() for folding state.
      • isMinimized

        boolean isMinimized()
        if this node's text is shortened for display.
      • find

        java.util.List<? extends Node> find​(boolean withAncestors,
                                            boolean withDescendants,
                                            NodeCondition condition)
        Starting from this node, recursively searches for nodes for which condition.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. See ControllerRO.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. See ControllerRO.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