Class Finder.ByNameAllRecursivelyFinder

  • Enclosing class:
    Finder

    public static final class Finder.ByNameAllRecursivelyFinder
    extends java.lang.Object
    Search for all elements by simple name among the given root element(s) and all(direct and indirect) children of root element(s)
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static void addNameFilter​(com.nomagic.ci.persistence.local.query.IQueryParameters parameters, java.lang.String name)  
      private static <T extends Element>
      java.util.Collection<T>
      excludeRootsIfRequired​(java.util.Collection<T> result, boolean includeRoots, java.util.Collection<? extends Element> roots)  
      <T extends Element>
      java.util.Collection<T>
      find​(Project project, java.lang.Class[] type, java.lang.String name)
      Find element by name.
      <T extends Element>
      java.util.Collection<T>
      find​(Project project, java.lang.Class[] type, java.lang.String name, boolean includeRoot)
      Find element by name.
      <T extends Element>
      java.util.Collection<T>
      find​(Project project, java.lang.Class type, java.lang.String name)
      Find element by name.
      <T extends Element>
      java.util.Collection<T>
      find​(Project project, java.lang.Class type, java.lang.String name, boolean includeRoot)
      Find element by name.
      <T extends Element>
      java.util.Collection<T>
      find​(Element root, java.lang.Class[] type, java.lang.String name)
      Find elements by name.
      <T extends Element>
      java.util.Collection<T>
      find​(Element root, java.lang.Class[] type, java.lang.String name, boolean includeRoot)
      Find elements by name.
      <T extends Element>
      java.util.Collection<T>
      find​(Element root, java.lang.Class type, java.lang.String name)
      Find elements by name.
      <T extends Element>
      java.util.Collection<T>
      find​(Element root, java.lang.Class type, java.lang.String name, boolean includeRoot)
      Find elements by name.
      <T extends Element>
      java.util.Collection<T>
      find​(java.util.Collection<? extends Element> roots, java.lang.Class[] type, java.lang.String name)
      Find elements by name.
      <T extends Element>
      java.util.Collection<T>
      find​(java.util.Collection<? extends Element> roots, java.lang.Class[] type, java.lang.String name, boolean includeRoot)
      Find elements by name.
      <T extends Element>
      java.util.Collection<T>
      find​(java.util.Collection<? extends Element> roots, java.lang.Class type, java.lang.String name)
      Find elements by name.
      <T extends Element>
      java.util.Collection<T>
      find​(java.util.Collection<? extends Element> roots, java.lang.Class type, java.lang.String name, boolean includeRoot)
      Find elements by name.
      private static <T extends Element,​R>
      R
      getQueryResult​(java.util.Collection<? extends Element> roots, java.lang.Class[] types, java.lang.String name, java.util.function.Supplier<R> emptyResultSupplier, java.util.function.BiFunction<com.nomagic.ci.persistence.local.query.IQuery<org.eclipse.emf.ecore.EObject>,​ProgressStatus,​R> queryResultFunction)  
      private static <R> R getQueryResult​(java.util.Collection<? extends Element> roots, java.lang.Class[] types, java.util.function.Supplier<R> emptyResultSupplier, java.util.function.Consumer<com.nomagic.ci.persistence.local.query.IQueryParametersVar> queryParametersUpdater, java.util.function.BiFunction<com.nomagic.ci.persistence.local.query.IQuery<org.eclipse.emf.ecore.EObject>,​ProgressStatus,​R> queryResultFunction, ProgressStatus monitor)  
      private static <T extends Element>
      java.util.Collection<T>
      internalFind​(java.util.Collection<? extends Element> roots, java.lang.Class[] types, java.lang.String name, boolean includeRoots)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ByNameAllRecursivelyFinder

        private ByNameAllRecursivelyFinder()
    • Method Detail

      • find

        public <T extends Element> java.util.Collection<T> find​(Element root,
                                                                @CheckForNull
                                                                java.lang.Class type,
                                                                java.lang.String name)
        Find elements by name. Include root(s) into a search.
        Parameters:
        root - root element
        type - strict class type of element. Nulls means any element
        name - Element name
        Returns:
        found Elements
      • find

        public <T extends Element> java.util.Collection<T> find​(Element root,
                                                                @CheckForNull
                                                                java.lang.Class[] type,
                                                                java.lang.String name)
        Find elements by name. Include root(s) into a search.
        Parameters:
        root - root element
        type - strict class types of element. Nulls means any element
        name - Element name
        Returns:
        found Elements
      • find

        public <T extends Element> java.util.Collection<T> find​(java.util.Collection<? extends Element> roots,
                                                                @CheckForNull
                                                                java.lang.Class type,
                                                                java.lang.String name)
        Find elements by name. Include root(s) into a search.
        Parameters:
        roots - root element
        type - strict class type of element. Nulls means any element
        name - Element name
        Returns:
        found Elements
      • find

        public <T extends Element> java.util.Collection<T> find​(java.util.Collection<? extends Element> roots,
                                                                @CheckForNull
                                                                java.lang.Class[] type,
                                                                java.lang.String name)
        Find elements by name. Include root(s) into a search.
        Parameters:
        roots - root element
        type - strict class types of element. Nulls means any element
        name - Element name
        Returns:
        found Elements
      • find

        public <T extends Element> java.util.Collection<T> find​(Project project,
                                                                @CheckForNull
                                                                java.lang.Class type,
                                                                java.lang.String name)
        Find element by name. Include all project models into a search.
        Parameters:
        project - project (Project.getModels() will be used as roots)
        type - strict class type of element. Nulls means any element
        name - Element name
        Returns:
        found Element or null
      • find

        public <T extends Element> java.util.Collection<T> find​(Project project,
                                                                @CheckForNull
                                                                java.lang.Class[] type,
                                                                java.lang.String name)
        Find element by name. Include all project models into a search.
        Parameters:
        project - project (Project.getModels() will be used as roots)
        type - strict class types of element. Nulls means any element
        name - Element name
        Returns:
        found Element or null
      • find

        public <T extends Element> java.util.Collection<T> find​(Element root,
                                                                @CheckForNull
                                                                java.lang.Class type,
                                                                java.lang.String name,
                                                                boolean includeRoot)
        Find elements by name.
        Parameters:
        root - root element
        type - strict class type of element. Nulls means any element
        name - Element name
        includeRoot - include root element(s) into a search
        Returns:
        found Elements
      • find

        public <T extends Element> java.util.Collection<T> find​(Element root,
                                                                @CheckForNull
                                                                java.lang.Class[] type,
                                                                java.lang.String name,
                                                                boolean includeRoot)
        Find elements by name.
        Parameters:
        root - root element
        type - strict class types of element. Nulls means any element
        name - Element name
        includeRoot - include root element(s) into a search
        Returns:
        found Elements
      • find

        public <T extends Element> java.util.Collection<T> find​(java.util.Collection<? extends Element> roots,
                                                                @CheckForNull
                                                                java.lang.Class type,
                                                                java.lang.String name,
                                                                boolean includeRoot)
        Find elements by name.
        Parameters:
        roots - root element
        type - strict class type of element. Nulls means any element
        name - Element name
        includeRoot - include root element(s) into a search
        Returns:
        found Elements
      • find

        public <T extends Element> java.util.Collection<T> find​(java.util.Collection<? extends Element> roots,
                                                                @CheckForNull
                                                                java.lang.Class[] type,
                                                                java.lang.String name,
                                                                boolean includeRoot)
        Find elements by name.
        Parameters:
        roots - root element
        type - strict class types of element. Nulls means any element
        name - Element name
        includeRoot - include root element(s) into a search
        Returns:
        found Elements
      • find

        public <T extends Element> java.util.Collection<T> find​(Project project,
                                                                @CheckForNull
                                                                java.lang.Class type,
                                                                java.lang.String name,
                                                                boolean includeRoot)
        Find element by name.
        Parameters:
        project - project (Project.getModels() will be used as roots)
        type - strict class type of element. Nulls means any element
        name - Element name
        includeRoot - include root element(s) into a search
        Returns:
        found Element or null
      • find

        public <T extends Element> java.util.Collection<T> find​(Project project,
                                                                @CheckForNull
                                                                java.lang.Class[] type,
                                                                java.lang.String name,
                                                                boolean includeRoot)
        Find element by name.
        Parameters:
        project - project (Project.getModels() will be used as roots)
        type - strict class types of element. Nulls means any element
        name - Element name
        includeRoot - include root element(s) into a search
        Returns:
        found Element or null
      • internalFind

        private static <T extends Element> java.util.Collection<T> internalFind​(java.util.Collection<? extends Element> roots,
                                                                                @CheckForNull
                                                                                java.lang.Class[] types,
                                                                                @CheckForNull
                                                                                java.lang.String name,
                                                                                boolean includeRoots)
      • getQueryResult

        private static <T extends Element,​R> R getQueryResult​(java.util.Collection<? extends Element> roots,
                                                                    @CheckForNull
                                                                    java.lang.Class[] types,
                                                                    java.lang.String name,
                                                                    java.util.function.Supplier<R> emptyResultSupplier,
                                                                    java.util.function.BiFunction<com.nomagic.ci.persistence.local.query.IQuery<org.eclipse.emf.ecore.EObject>,​ProgressStatus,​R> queryResultFunction)
      • addNameFilter

        private static void addNameFilter​(com.nomagic.ci.persistence.local.query.IQueryParameters parameters,
                                          java.lang.String name)
      • getQueryResult

        private static <R> R getQueryResult​(java.util.Collection<? extends Element> roots,
                                            @CheckForNull
                                            java.lang.Class[] types,
                                            java.util.function.Supplier<R> emptyResultSupplier,
                                            java.util.function.Consumer<com.nomagic.ci.persistence.local.query.IQueryParametersVar> queryParametersUpdater,
                                            java.util.function.BiFunction<com.nomagic.ci.persistence.local.query.IQuery<org.eclipse.emf.ecore.EObject>,​ProgressStatus,​R> queryResultFunction,
                                            @CheckForNull
                                            ProgressStatus monitor)
      • excludeRootsIfRequired

        private static <T extends Element> java.util.Collection<T> excludeRootsIfRequired​(java.util.Collection<T> result,
                                                                                          boolean includeRoots,
                                                                                          java.util.Collection<? extends Element> roots)