Proxy.ControllerRO (Freeplane API 1.11.10)
Description: declaration: package: org.freeplane.plugin.script.proxy, interface: Proxy, interface: ControllerRO

Package org.freeplane.plugin.script.proxy

# Interface Proxy.ControllerRO

All Superinterfaces:
  `ControllerRO`

All Known Subinterfaces:
  `Proxy.Controller`

Enclosing interface:
  Proxy

public static interface Proxy.ControllerRO extends ControllerRO

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<? extends Node>`
  `find(boolean withAncestors, boolean withDescendants, groovy.lang.Closure<Boolean> closure)`
  Starting from root node, recursively searches for nodes for which `condition.check(node)` returns true and adds their ancestor or descendant nodes if required.
  `List<? extends Node>`
  `find(groovy.lang.Closure<Boolean> closure)`
  Starting from the root node, recursively searches for nodes (in breadth-first sequence) for which `closure.call(node)` returns true.
  `List<? extends Node>`
  `find(org.freeplane.features.filter.condition.ICondition condition)`
  Deprecated.
  since 1.2 use `ControllerRO.find(NodeCondition)` instead.

  ### Methods inherited from interface org.freeplane.api.ControllerRO

  `export, find, find, findAll, findAllDepthFirst, getExportTypeDescriptions, getFreeplaneVersion, getSelected, getSelecteds, getSortedSelection, getUserDirectory, getViewRoot, getZoom, isInteractive`

- ## Method Details

  - ### find

    List<? extends Node> find(groovy.lang.Closure<Boolean> closure)
    Starting from the root node, recursively searches for nodes (in breadth-first sequence) for which `closure.call(node)` returns true.

    A find method that uses a Groovy closure ("block") for simple custom searches. As this closure will be called with a node as an argument (to be referenced by `it`) the search can evaluate every node property, like attributes, icons, node text or notes.

    Examples:

            def nodesWithNotes = c.find{ it.noteText != null }

            def matchingNodes = c.find{ it.text.matches(".*\\d.*") }
            def texts = matchingNodes.collect{ it.text }
            print "node texts containing numbers:\n " + texts.join("\n ")

    See `Proxy.NodeRO.find(Closure)` for searches on subtrees.
    Parameters:
      `closure` - a Groovy closure that returns a boolean value. The closure will receive a NodeModel as an argument which can be tested for a match.
    Returns:
      all nodes for which `closure.call(NodeModel)` returns true.

  - ### find

    List<? extends Node> find(boolean withAncestors, boolean withDescendants, groovy.lang.Closure<Boolean> closure)
    Starting from root 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 `Proxy.Controller.find(NodeCondition)` for details.

  - ### find

    @Deprecated List<? extends Node> find(org.freeplane.features.filter.condition.ICondition condition)
    Deprecated.
    since 1.2 use `ControllerRO.find(NodeCondition)` instead.
    Starting from the root node, recursively searches for nodes for which `condition.checkNode(node)` returns true.
    Parameters:
      `condition` - condition to match the search.
    Returns:
      the nodes which match the condition.