Interface NodeQuery

All Known Implementing Classes:
NodeQueryImpl

public interface NodeQuery
  • Method Summary

    Modifier and Type
    Method
    Description
    from(Collection<javafx.scene.Node> parentNodes)
    Stores all given parentNodes within this NodeQuery.
    from(javafx.scene.Node... parentNodes)
    Stores all given parentNodes within this NodeQuery.
    lookup(String query)
    Sifts through stored nodes by their id ("#id"), their class (".class"), or the text it has ("text"), depending on the query used, and keeps only those Nodes that meet the query.
    lookup(Function<javafx.scene.Node,Set<javafx.scene.Node>> function)
    Sifts through stored nodes and uses function to determine which nodes to keep and which to remove.
    <T extends javafx.scene.Node>
    NodeQuery
    lookup(Predicate<T> predicate)
    Sifts through stored nodes and keeps only those Nodes that pass the given predicate.
    lookup(org.hamcrest.Matcher<T> matcher)
    Sifts through stored nodes and keeps only those Nodes that match the given matcher.
    <T extends javafx.scene.Node>
    NodeQuery
    match(Predicate<T> predicate)
    Sifts through stored nodes and keeps only those Nodes that pass the given predicate.
    match(org.hamcrest.Matcher<T> matcher)
    Sifts through stored nodes and keeps only those Nodes that match the given matcher.
    nth(int index)
    Keeps the nth Node in stored nodes and removes all others.
    <T extends javafx.scene.Node>
    T
    Executes this NodeQuery and returns the first Node found that matches this query.
    <T extends javafx.scene.Node>
    Set<T>
    Executes this NodeQuery and returns the Set of all the Nodes that match this query.
    <T extends javafx.scene.Node>
    Set<T>
    queryAllAs(Class<T> clazz)
    Type-safe version of queryAll() that executes this NodeQuery and returns the Set of all the Nodes that match this query.
    <T extends javafx.scene.Node>
    T
    queryAs(Class<T> clazz)
    Type-safe version of query() that executes this NodeQuery and returns the first Node found that matches this query.
    default javafx.scene.control.Button
    Executes this NodeQuery and returns the first Button found that matches this query.
    default <T> javafx.scene.control.ComboBox<T>
    Executes this NodeQuery and returns the first ComboBox found that matches this query.
    default javafx.scene.control.Labeled
    Executes this NodeQuery and returns the first Labeled found that matches this query.
    default <T> javafx.scene.control.ListView<T>
    Executes this NodeQuery and returns the first ListView found that matches this query.
    default javafx.scene.Parent
    Executes this NodeQuery and returns the first Parent found that matches this query.
    default <T> javafx.scene.control.TableView<T>
    Executes this NodeQuery and returns the first TableView found that matches this query.
    default javafx.scene.text.Text
    Executes this NodeQuery and returns the first Text found that matches this query.
    default javafx.scene.text.TextFlow
    Executes this NodeQuery and returns the first TextFlow found that matches this query.
    default javafx.scene.control.TextInputControl
    Executes this NodeQuery and returns the first TextInputControl found that matches this query.
    <T extends javafx.scene.Node>
    Optional<T>
    Executes this NodeQuery and returns an Optional that either contains the first Node found that matches this query or nothing (e.g.
    <T extends javafx.scene.Node>
    Optional<T>
    tryQueryAs(Class<T> clazz)
    Type-safe version of tryQuery() that executes this NodeQuery and returns an Optional that either contains the first Node found that matches this query or nothing (e.g.
  • Method Details

    • from

      NodeQuery from(javafx.scene.Node... parentNodes)
      Stores all given parentNodes within this NodeQuery.
      Parameters:
      parentNodes - the parentNodes to store
      Returns:
      itself for more method chaining
    • from

      NodeQuery from(Collection<javafx.scene.Node> parentNodes)
      Stores all given parentNodes within this NodeQuery.
      Parameters:
      parentNodes - the parentNodes to store
      Returns:
      itself for more method chaining
    • lookup

      NodeQuery lookup(String query)
      Sifts through stored nodes by their id ("#id"), their class (".class"), or the text it has ("text"), depending on the query used, and keeps only those Nodes that meet the query.
      Parameters:
      query - the query to use
      Returns:
      itself for more method chaining
    • lookup

      <T> NodeQuery lookup(org.hamcrest.Matcher<T> matcher)
      Sifts through stored nodes and keeps only those Nodes that match the given matcher.
      Type Parameters:
      T - matcher type
      Parameters:
      matcher - the matcher used to determine which Nodes to keep and which to remove
      Returns:
      itself for more method chaining
    • lookup

      <T extends javafx.scene.Node> NodeQuery lookup(Predicate<T> predicate)
      Sifts through stored nodes and keeps only those Nodes that pass the given predicate.
      Type Parameters:
      T - type that extends Node
      Parameters:
      predicate - the predicate used to determine which Nodes to keep and which to remove.
      Returns:
      itself for more method chaining
    • lookup

      NodeQuery lookup(Function<javafx.scene.Node,Set<javafx.scene.Node>> function)
      Sifts through stored nodes and uses function to determine which nodes to keep and which to remove.
      Parameters:
      function - that returns the Nodes to keep
      Returns:
      itself for more method chaining
    • match

      <T> NodeQuery match(org.hamcrest.Matcher<T> matcher)
      Sifts through stored nodes and keeps only those Nodes that match the given matcher.
      Type Parameters:
      T - matcher type
      Parameters:
      matcher - that determines which Nodes to keep
      Returns:
      itself for more method chaining
    • match

      <T extends javafx.scene.Node> NodeQuery match(Predicate<T> predicate)
      Sifts through stored nodes and keeps only those Nodes that pass the given predicate.
      Type Parameters:
      T - predicate type
      Parameters:
      predicate - that indicates which Nodes to keep
      Returns:
      itself for more method chaining
    • nth

      NodeQuery nth(int index)
      Keeps the nth Node in stored nodes and removes all others.
      Parameters:
      index - within the collection of Nodes
      Returns:
      itself for more method chaining
    • query

      <T extends javafx.scene.Node> T query()
      Executes this NodeQuery and returns the first Node found that matches this query. If no nodes match this query then an EmptyNodeQueryException is thrown.

      The determinism of this method relies on the determinism of Node.lookupAll(String), for which the JavaDocs specifically state that the result is unordered. The current (9.0.4) version of JavaFX happens to return the nodes in the order in which they are encountered whilst traversing the scene graph but this could change in future versions of JavaFX. Thus if there are multiple nodes matched by this query and you want a specific one it is advised not to use this method and instead narrow the query so that only one node is matched.

      Type Parameters:
      T - the type that extends Node
      Returns:
      the first node found that matches this query, if any
      Throws:
      EmptyNodeQueryException - if no TextFlow nodes match this query
    • queryButton

      default javafx.scene.control.Button queryButton()
      Executes this NodeQuery and returns the first Button found that matches this query. If no nodes match this query then an EmptyNodeQueryException is thrown.

      The determinism of this method relies on the determinism of Node.lookupAll(String), for which the JavaDocs specifically state that the result is unordered. The current (9.0.4) version of JavaFX happens to return the nodes in the order in which they are encountered whilst traversing the scene graph but this could change in future versions of JavaFX. Thus if there are multiple nodes matched by this query and you want a specific one it is advised not to use this method and instead narrow the query so that only one node is matched.

      Returns:
      the first Button found that matches this query, if any
      Throws:
      EmptyNodeQueryException - if no Button nodes match this query
    • queryComboBox

      default <T> javafx.scene.control.ComboBox<T> queryComboBox()
      Executes this NodeQuery and returns the first ComboBox found that matches this query. If no nodes match this query then an EmptyNodeQueryException is thrown.

      The determinism of this method relies on the determinism of Node.lookupAll(String), for which the JavaDocs specifically state that the result is unordered. The current (9.0.4) version of JavaFX happens to return the nodes in the order in which they are encountered whilst traversing the scene graph but this could change in future versions of JavaFX. Thus if there are multiple nodes matched by this query and you want a specific one it is advised not to use this method and instead narrow the query so that only one node is matched.

      Returns:
      the first ComboBox found that matches this query, if any
      Throws:
      EmptyNodeQueryException - if no ComboBox nodes match this query
    • queryLabeled

      default javafx.scene.control.Labeled queryLabeled()
      Executes this NodeQuery and returns the first Labeled found that matches this query. If no nodes match this query then an EmptyNodeQueryException is thrown.

      The determinism of this method relies on the determinism of Node.lookupAll(String), for which the JavaDocs specifically state that the result is unordered. The current (9.0.4) version of JavaFX happens to return the nodes in the order in which they are encountered whilst traversing the scene graph but this could change in future versions of JavaFX. Thus if there are multiple nodes matched by this query and you want a specific one it is advised not to use this method and instead narrow the query so that only one node is matched.

      Returns:
      the first Labeled found that matches this query, if any
      Throws:
      EmptyNodeQueryException - if no Labeled nodes match this query
    • queryListView

      default <T> javafx.scene.control.ListView<T> queryListView()
      Executes this NodeQuery and returns the first ListView found that matches this query. If no nodes match this query then an EmptyNodeQueryException is thrown.

      The determinism of this method relies on the determinism of Node.lookupAll(String), for which the JavaDocs specifically state that the result is unordered. The current (9.0.4) version of JavaFX happens to return the nodes in the order in which they are encountered whilst traversing the scene graph but this could change in future versions of JavaFX. Thus if there are multiple nodes matched by this query and you want a specific one it is advised not to use this method and instead narrow the query so that only one node is matched.

      Returns:
      the first ListView found that matches this query, if any
      Throws:
      EmptyNodeQueryException - if no ListView nodes match this query
    • queryParent

      default javafx.scene.Parent queryParent()
      Executes this NodeQuery and returns the first Parent found that matches this query. If no nodes match this query then an EmptyNodeQueryException is thrown.

      The determinism of this method relies on the determinism of Node.lookupAll(String), for which the JavaDocs specifically state that the result is unordered. The current (9.0.4) version of JavaFX happens to return the nodes in the order in which they are encountered whilst traversing the scene graph but this could change in future versions of JavaFX. Thus if there are multiple nodes matched by this query and you want a specific one it is advised not to use this method and instead narrow the query so that only one node is matched.

      Returns:
      the first Parent found that matches this query, if any
      Throws:
      EmptyNodeQueryException - if no Parent nodes match this query
    • queryTableView

      default <T> javafx.scene.control.TableView<T> queryTableView()
      Executes this NodeQuery and returns the first TableView found that matches this query. If no nodes match this query then an EmptyNodeQueryException is thrown.

      The determinism of this method relies on the determinism of Node.lookupAll(String), for which the JavaDocs specifically state that the result is unordered. The current (9.0.4) version of JavaFX happens to return the nodes in the order in which they are encountered whilst traversing the scene graph but this could change in future versions of JavaFX. Thus if there are multiple nodes matched by this query and you want a specific one it is advised not to use this method and instead narrow the query so that only one node is matched.

      Returns:
      the first TableView found that matches this query, if any
      Throws:
      EmptyNodeQueryException - if no TableView nodes match this query
    • queryText

      default javafx.scene.text.Text queryText()
      Executes this NodeQuery and returns the first Text found that matches this query. If no nodes match this query then an EmptyNodeQueryException is thrown.

      The determinism of this method relies on the determinism of Node.lookupAll(String), for which the JavaDocs specifically state that the result is unordered. The current (9.0.4) version of JavaFX happens to return the nodes in the order in which they are encountered whilst traversing the scene graph but this could change in future versions of JavaFX. Thus if there are multiple nodes matched by this query and you want a specific one it is advised not to use this method and instead narrow the query so that only one node is matched.

      Returns:
      the first Text found that matches this query, if any
      Throws:
      EmptyNodeQueryException - if no Text nodes match this query
    • queryTextFlow

      default javafx.scene.text.TextFlow queryTextFlow()
      Executes this NodeQuery and returns the first TextFlow found that matches this query. If no nodes match this query then an EmptyNodeQueryException is thrown.

      The determinism of this method relies on the determinism of Node.lookupAll(String), for which the JavaDocs specifically state that the result is unordered. The current (9.0.4) version of JavaFX happens to return the nodes in the order in which they are encountered whilst traversing the scene graph but this could change in future versions of JavaFX. Thus if there are multiple nodes matched by this query and you want a specific one it is advised not to use this method and instead narrow the query so that only one node is matched.

      Returns:
      the first TextFlow found that matches this query, if any
      Throws:
      EmptyNodeQueryException - if no TextFlow nodes match this query
    • queryTextInputControl

      default javafx.scene.control.TextInputControl queryTextInputControl()
      Executes this NodeQuery and returns the first TextInputControl found that matches this query. If no nodes match this query then an EmptyNodeQueryException is thrown.

      The determinism of this method relies on the determinism of Node.lookupAll(String), for which the JavaDocs specifically state that the result is unordered. The current (9.0.4) version of JavaFX happens to return the nodes in the order in which they are encountered whilst traversing the scene graph but this could change in future versions of JavaFX. Thus if there are multiple nodes matched by this query and you want a specific one it is advised not to use this method and instead narrow the query so that only one node is matched.

      Returns:
      the first TextInputControl found that matches this query, if any
      Throws:
      EmptyNodeQueryException - if no TextInputControl nodes match this query
    • queryAs

      <T extends javafx.scene.Node> T queryAs(Class<T> clazz)
      Type-safe version of query() that executes this NodeQuery and returns the first Node found that matches this query. If no nodes match this query then an EmptyNodeQueryException is thrown.

      The determinism of this method relies on the determinism of Node.lookupAll(String), for which the JavaDocs specifically state that the result is unordered. The current (9.0.4) version of JavaFX happens to return the nodes in the order in which they are encountered whilst traversing the scene graph but this could change in future versions of JavaFX. Thus if there are multiple nodes matched by this query and you want a specific one it is advised not to use this method and instead narrow the query so that only one node is matched.

      Type Parameters:
      T - the type that extends Node
      Parameters:
      clazz - the concrete sub-type of Node that should be returned by this query so as to avoid extraneous casting when used inside an "assertThat" assertion
      Returns:
      the first node found that matches this query, if any
      Throws:
      EmptyNodeQueryException - if no nodes match this query
    • tryQuery

      <T extends javafx.scene.Node> Optional<T> tryQuery()
      Executes this NodeQuery and returns an Optional that either contains the first Node found that matches this query or nothing (e.g. Optional.empty() returns true) if no nodes match this query.

      The determinism of this method relies on the determinism of Node.lookupAll(String), for which the JavaDocs specifically state that the result is unordered. The current (9.0.4) version of JavaFX happens to return the nodes in the order in which they are encountered whilst traversing the scene graph but this could change in future versions of JavaFX. Thus if there are multiple nodes matched by this query and you want a specific one it is advised not to use this method and instead narrow the query so that only one node is matched.

      Type Parameters:
      T - the type that extends Node
      Returns:
      the first node found or an empty Optional if the query does not match any nodes
    • tryQueryAs

      <T extends javafx.scene.Node> Optional<T> tryQueryAs(Class<T> clazz)
      Type-safe version of tryQuery() that executes this NodeQuery and returns an Optional that either contains the first Node found that matches this query or nothing (e.g. Optional.empty() returns true) if no nodes match this query.

      The determinism of this method relies on the determinism of Node.lookupAll(String), for which the JavaDocs specifically state that the result is unordered. The current (9.0.4) version of JavaFX happens to return the nodes in the order in which they are encountered whilst traversing the scene graph but this could change in future versions of JavaFX. Thus if there are multiple nodes matched by this query and you want a specific one it is advised not to use this method and instead narrow the query so that only one node is matched.

      Type Parameters:
      T - the type that extends Node
      Parameters:
      clazz - the concrete sub-type of Node that should be contained in the Optional returned by this query so as to avoid extraneous casting when used inside an "assertThat" assertion
      Returns:
      the first node found or an empty Optional if the query does not match any nodes
    • queryAll

      <T extends javafx.scene.Node> Set<T> queryAll()
      Executes this NodeQuery and returns the Set of all the Nodes that match this query. If no nodes match this query, the empty set is returned.
      Type Parameters:
      T - the type that extends Node
      Returns:
      the set of nodes that match this query
    • queryAllAs

      <T extends javafx.scene.Node> Set<T> queryAllAs(Class<T> clazz)
      Type-safe version of queryAll() that executes this NodeQuery and returns the Set of all the Nodes that match this query. If no nodes match this query, the empty set is returned.
      Type Parameters:
      T - the type that extends Node
      Parameters:
      clazz - the concrete sub-type of Node the set of which should be returned by this query so as to avoid extraneous casting when used inside an "assertThat" assertion
      Returns:
      the set of nodes that match this query