Module org.testfx

Interface NodeQuery

  • All Known Implementing Classes:
    NodeQueryImpl

    public interface NodeQuery
    • Method Summary

      Modifier and Type Method Description
      NodeQuery from​(Collection<javafx.scene.Node> parentNodes)
      Stores all given parentNodes within this NodeQuery.
      NodeQuery from​(javafx.scene.Node... parentNodes)
      Stores all given parentNodes within this NodeQuery.
      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.
      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.
      <T extends javafx.scene.Node>
      NodeQuery
      lookup​(Predicate<T> predicate)
      Sifts through stored nodes and keeps only those Nodes that pass the given predicate.
      <T> NodeQuery 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.
      <T> NodeQuery match​(org.hamcrest.Matcher<T> matcher)
      Sifts through stored nodes and keeps only those Nodes that match the given matcher.
      NodeQuery nth​(int index)
      Keeps the nth Node in stored nodes and removes all others.
      <T extends javafx.scene.Node>
      T
      query()
      Executes this NodeQuery and returns the first Node found that matches this query.
      <T extends javafx.scene.Node>
      Set<T>
      queryAll()
      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 queryButton()
      Executes this NodeQuery and returns the first Button found that matches this query.
      default <T> javafx.scene.control.ComboBox<T> queryComboBox()
      Executes this NodeQuery and returns the first ComboBox found that matches this query.
      default javafx.scene.control.Labeled queryLabeled()
      Executes this NodeQuery and returns the first Labeled found that matches this query.
      default <T> javafx.scene.control.ListView<T> queryListView()
      Executes this NodeQuery and returns the first ListView found that matches this query.
      default javafx.scene.Parent queryParent()
      Executes this NodeQuery and returns the first Parent found that matches this query.
      default <T> javafx.scene.control.TableView<T> queryTableView()
      Executes this NodeQuery and returns the first TableView found that matches this query.
      default javafx.scene.text.Text queryText()
      Executes this NodeQuery and returns the first Text found that matches this query.
      default javafx.scene.text.TextFlow queryTextFlow()
      Executes this NodeQuery and returns the first TextFlow found that matches this query.
      default javafx.scene.control.TextInputControl queryTextInputControl()
      Executes this NodeQuery and returns the first TextInputControl found that matches this query.
      <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.
      <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 Detail

      • 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