Package com.nomagic.magicdraw.uml
Class Finder.ByNameAllRecursivelyFinder
- java.lang.Object
-
- com.nomagic.magicdraw.uml.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)
-
-
Constructor Summary
Constructors Modifier Constructor Description private
ByNameAllRecursivelyFinder()
-
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>
RgetQueryResult(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)
-
-
-
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 elementtype
- strict class type of element. Nulls means any elementname
- 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 elementtype
- strict class types of element. Nulls means any elementname
- 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 elementtype
- strict class type of element. Nulls means any elementname
- 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 elementtype
- strict class types of element. Nulls means any elementname
- 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 elementname
- 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 elementname
- 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 elementtype
- strict class type of element. Nulls means any elementname
- Element nameincludeRoot
- 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 elementtype
- strict class types of element. Nulls means any elementname
- Element nameincludeRoot
- 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 elementtype
- strict class type of element. Nulls means any elementname
- Element nameincludeRoot
- 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 elementtype
- strict class types of element. Nulls means any elementname
- Element nameincludeRoot
- 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 elementname
- Element nameincludeRoot
- 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 elementname
- Element nameincludeRoot
- 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)
-
-