Interface Selector


  • public interface Selector
    Matches a set of shapes using a selector expression.
    • Field Detail

      • IDENTITY

        static final Selector IDENTITY
        A selector that always returns all provided values.
    • Method Detail

      • parse

        static Selector parse​(java.lang.String expression)
        Parses a selector expression.
        Parameters:
        expression - Expression to parse.
        Returns:
        Returns the parsed Selector.
      • fromNode

        static Selector fromNode​(Node node)
        Creates a Selector from a Node.
        Parameters:
        node - Node to parse.
        Returns:
        Returns the created selector.
        Throws:
        SourceException - on error.
      • select

        default java.util.Set<Shape> select​(Model model)
        Matches a selector to a model.
        Parameters:
        model - Model used to resolve shapes with.
        Returns:
        Returns the matching shapes.
      • select

        default java.util.Set<Shape> select​(Model model,
                                            Selector.StartingContext context)
        Matches a selector to a model.
        Parameters:
        model - Model used to resolve shapes with.
        context - Selector starting environment context.
        Returns:
        Returns the matching shapes.
      • consumeMatches

        default void consumeMatches​(Model model,
                                    java.util.function.Consumer<Selector.ShapeMatch> shapeMatchConsumer)
        Matches a selector to a set of shapes and receives each matched shape with the variables that were set when the shape was matched.
        Parameters:
        model - Model to select shapes from.
        shapeMatchConsumer - Receives each matched shape and the vars available when the shape was matched.
      • consumeMatches

        default void consumeMatches​(Model model,
                                    Selector.StartingContext context,
                                    java.util.function.Consumer<Selector.ShapeMatch> shapeMatchConsumer)
        Matches a selector to a set of shapes and receives each matched shape with the variables that were set when the shape was matched.
        Parameters:
        model - Model to select shapes from.
        context - Selector starting environment context.
        shapeMatchConsumer - Receives each matched shape and the vars available when the shape was matched.
      • shapes

        default java.util.stream.Stream<Shape> shapes​(Model model)
        Returns a stream of shapes in a model that match the selector.
        Parameters:
        model - Model to match the selector against.
        Returns:
        Returns a stream of matching shapes.
      • shapes

        default java.util.stream.Stream<Shape> shapes​(Model model,
                                                      Selector.StartingContext context)
        Returns a stream of shapes in a model that match the selector.
        Parameters:
        model - Model to match the selector against.
        context - Selector starting environment context.
        Returns:
        Returns a stream of matching shapes.
      • matches

        default java.util.stream.Stream<Selector.ShapeMatch> matches​(Model model)
        Returns a stream of Selector.ShapeMatch objects for each match found in a model.
        Parameters:
        model - Model to match the selector against.
        Returns:
        Returns a stream of ShapeMatch objects.
      • matches

        default java.util.stream.Stream<Selector.ShapeMatch> matches​(Model model,
                                                                     Selector.StartingContext startingContext)
        Returns a stream of Selector.ShapeMatch objects for each match found in a model.
        Parameters:
        model - Model to match the selector against.
        startingContext - Selector starting environment context.
        Returns:
        Returns a stream of ShapeMatch objects.
      • runner

        @Deprecated
        default Selector.Runner runner()
        Deprecated.
        Creates a Selector Runner, used to customize how a selector is executed.
        Returns:
        Returns the created runner.