## Uses of Interface
org.eclipse.equinox.p2.query.IQuery

Packages that use IQuery
org.eclipse.equinox.p2.engine: Provides support for interacting with the p2 provisioning engine
org.eclipse.equinox.p2.engine.query: Provides queries specific to profiles
org.eclipse.equinox.p2.metadata.expression: Provides a simple expression language used to represent requirements and filters in the metadada
org.eclipse.equinox.p2.metadata.index: Provides classes for metadata query indexing
org.eclipse.equinox.p2.query: Provides common classes for the query mechanism.
org.eclipse.equinox.p2.repository.artifact: Defines artifact repository.
org.eclipse.equinox.p2.touchpoint.eclipse.query: Provides query utilities specific to provisioning of OSGi bundles
org.eclipse.equinox.p2.ui: Provides provisioning user interface classes that can be used for assembling a provisioning UI.

### Uses of IQuery in org.eclipse.equinox.p2.engine

Methods in org.eclipse.equinox.p2.engine with parameters of type IQuery
`IQueryResult<IInstallableUnit>` IProfile.`available​(IQuery<IInstallableUnit> query, IProgressMonitor monitor)` Returns the installable units in this profile that match the given query.

### Uses of IQuery in org.eclipse.equinox.p2.engine.query

Classes in org.eclipse.equinox.p2.engine.query that implement IQuery
`class` `IUProfilePropertyQuery` A query that searches for `IInstallableUnit` instances that have a property associated with the specified profile, whose value matches the provided value.
`class` `UserVisibleRootQuery` A query matching all the `IInstallableUnit`s that are marked visible to the user.

### Uses of IQuery in org.eclipse.equinox.p2.metadata.expression

Methods in org.eclipse.equinox.p2.metadata.expression with parameters of type IQuery
`IExpression` IExpressionFactory.`toExpression​(IQuery<?> query)` Wrap an `IQuery` as an expression.

### Uses of IQuery in org.eclipse.equinox.p2.metadata.index

Subinterfaces of IQuery in org.eclipse.equinox.p2.metadata.index
`interface` `IQueryWithIndex<T>` An extension of the `IQuery` that allows use of indexes.

### Uses of IQuery in org.eclipse.equinox.p2.query

Subinterfaces of IQuery in org.eclipse.equinox.p2.query
`interface` `IMatchQuery<T>` Deprecated. If possible, use one of the predefined queries in `QueryUtil` or use the `QueryUtil.createMatchQuery(String, Object...)` to create a custom expression based query.

Classes in org.eclipse.equinox.p2.query that implement IQuery
`class` `ExpressionMatchQuery<T>` A query that matches candidates against an expression.
`class` `ExpressionQuery<T>` A query that evaluates using an iterator as input and produces a new iterator.
`class` `MatchQuery<T>` Deprecated. If possible, use one of the predefined queries in `QueryUtil` or use the `QueryUtil.createMatchQuery(String, Object...)` to create a custom expression based query.

Fields in org.eclipse.equinox.p2.query declared as IQuery
`static IQuery<IInstallableUnit>` QueryUtil.`ALL_UNITS`
`static IQuery<IInstallableUnit>` QueryUtil.`NO_UNITS`

Methods in org.eclipse.equinox.p2.query that return IQuery
`static <T> IQuery<T>` QueryUtil.`createCompoundQuery​(Collection<? extends IQuery<? extends T>> queries, boolean and)` Creates a compound query that combines the given queries.
`static <T> IQuery<T>` QueryUtil.`createCompoundQuery​(IQuery<? extends T> query1, IQuery<T> query2, boolean and)` Creates a compound query that combines the two queries.
`static IQuery<IInstallableUnit>` QueryUtil.`createIUAnyQuery()` Returns a query that matches all `InstallableUnit` elements
`static IQuery<IInstallableUnit>` QueryUtil.`createIUCategoryMemberQuery​(IInstallableUnit category)` Creates a new query that will return the members of the given `category`.
`static IQuery<IInstallableUnit>` QueryUtil.`createIUCategoryQuery()` Creates a query matching every `IInstallableUnit` that is a category.
`static IQuery<IInstallableUnit>` QueryUtil.`createIUGroupQuery()` Creates a query matching every `IInstallableUnit` that is a group.
`static IQuery<IInstallableUnit>` QueryUtil.`createIUPatchQuery()` Creates an `IInstallableUnit` that will match all patches.
`static IQuery<IInstallableUnit>` QueryUtil.`createIUProductQuery()` Creates an `IInstallableUnit` that will match all products.
`static IQuery<IInstallableUnit>` QueryUtil.`createIUPropertyQuery​(String propertyName, String propertyValue)` Creates a query that searches for `IInstallableUnit` instances that have a property whose value matches the provided value.
`static IQuery<IInstallableUnit>` QueryUtil.`createIUQuery​(String id)` Creates a query that will match any `IInstallableUnit` with the given id, regardless of version.
`static IQuery<IInstallableUnit>` QueryUtil.`createIUQuery​(String id, Version version)` Creates a query that will match any `IInstallableUnit` with the given id and version.
`static IQuery<IInstallableUnit>` QueryUtil.`createIUQuery​(String id, VersionRange range)` Creates a query that will match any `IInstallableUnit` with the given id, and whose version falls in the provided range.
`static IQuery<IInstallableUnit>` QueryUtil.`createIUQuery​(IVersionedId versionedId)` Creates a query that will match any `IInstallableUnit` with the given id and version.
`static IQuery<IInstallableUnit>` QueryUtil.`createLatestIUQuery()` Creates a query that returns the latest version for each unique id of an `IVersionedId`.
`static <T extends IVersionedId> IQuery<T>` QueryUtil.`createLatestQuery​(IQuery<T> query)` Creates a query that returns the latest version for each unique id of an `IVersionedId` from the collection produced by `query`.
`static <T> IQuery<T>` QueryUtil.`createLimitQuery​(IQuery<T> query, int limit)` Creates a limit query that can be used to limit the number of query results returned.
`static <T> IQuery<T>` QueryUtil.`createMatchQuery​(Class<? extends T> matchingClass, String matchExpression, Object... parameters)` Parses the `matchExpression` and creates an query that will iterate over all candidates and discriminate all candidates that are not instances of `matchinClass>` or for which the boolean `matchExpression` returns false.
`static <T> IQuery<T>` QueryUtil.`createMatchQuery​(Class<? extends T> matchingClass, IExpression matchExpression, Object... parameters)` Creates an query that will iterate over all candidates and discriminate all candidates that are not instances of `matchinClass>` or for which the boolean `matchExpression` returns false.
`static IQuery<IInstallableUnit>` QueryUtil.`createMatchQuery​(String matchExpression, Object... parameters)` Parses the `matchExpression` and creates an `IInstallableUnit` query that will iterate over all candidates and discriminate by applying the boolean `matchExpression` on each candidate.
`static IQuery<IInstallableUnit>` QueryUtil.`createMatchQuery​(IExpression matchExpression, Object... parameters)` Creates an `IInstallableUnit` query that will iterate over all candidates and discriminate by applying the boolean `matchExpression` on each candidate.
`static <T> IQuery<T>` QueryUtil.`createPipeQuery​(Collection<? extends IQuery<? extends T>> queries)` Creates a piped query based on the provided input queries.
`static <T> IQuery<T>` QueryUtil.`createPipeQuery​(IQuery<? extends T> query1, IQuery<? extends T> query2)` Creates a piped query based on the provided input queries.
`static <T> IQuery<T>` QueryUtil.`createQuery​(Class<? extends T> matchingClass, String expression, Object... parameters)` Parses the `expression` and creates a query that will limit the result to instances of the `matchinClass`.
`static <T> IQuery<T>` QueryUtil.`createQuery​(Class<? extends T> matchingClass, IExpression expression, Object... parameters)` Creates a query that will limit the result to instances of the `matchinClass`.
`static IQuery<IInstallableUnit>` QueryUtil.`createQuery​(String expression, Object... parameters)` Parses the `expression` and creates an `IInstallableUnit` query.
`static IQuery<IInstallableUnit>` QueryUtil.`createQuery​(IExpression expression, Object... parameters)` Creates an `IInstallableUnit` query based on an `expression` that uses all candidates as input.

Methods in org.eclipse.equinox.p2.query with parameters of type IQuery
`static <T> IQuery<T>` QueryUtil.`createCompoundQuery​(IQuery<? extends T> query1, IQuery<T> query2, boolean and)` Creates a compound query that combines the two queries.
`static <T> IContextExpression<T>` ExpressionQuery.`createExpression​(IQuery<T> query)`
`static <T extends IVersionedId> IQuery<T>` QueryUtil.`createLatestQuery​(IQuery<T> query)` Creates a query that returns the latest version for each unique id of an `IVersionedId` from the collection produced by `query`.
`static <T> IQuery<T>` QueryUtil.`createLimitQuery​(IQuery<T> query, int limit)` Creates a limit query that can be used to limit the number of query results returned.
`static <T> IQuery<T>` QueryUtil.`createPipeQuery​(IQuery<? extends T> query1, IQuery<? extends T> query2)` Creates a piped query based on the provided input queries.
`static <T> Class<? extends T>` ExpressionQuery.`getElementClass​(IQuery<T> query)`
`IQueryResult<T>` CollectionResult.`query​(IQuery<T> query, IProgressMonitor monitor)`
`IQueryResult<T>` Collector.`query​(IQuery<T> query, IProgressMonitor monitor)` Performs a query on this results of this collector.
`IQueryResult<T>` IQueryable.`query​(IQuery<T> query, IProgressMonitor monitor)` Performs a query, passing any objects that satisfy the query to the provided collector.

Method parameters in org.eclipse.equinox.p2.query with type arguments of type IQuery
`static <T> IQuery<T>` QueryUtil.`createCompoundQuery​(Collection<? extends IQuery<? extends T>> queries, boolean and)` Creates a compound query that combines the given queries.
`static <T> IQuery<T>` QueryUtil.`createPipeQuery​(Collection<? extends IQuery<? extends T>> queries)` Creates a piped query based on the provided input queries.

### Uses of IQuery in org.eclipse.equinox.p2.repository.artifact

Classes in org.eclipse.equinox.p2.repository.artifact that implement IQuery
`class` `ArtifactDescriptorQuery` A general purpose query for matching `IArtifactDescriptor` instances that satisfy various criteria.
`class` `ArtifactKeyQuery` A general purpose query for matching `IArtifactKey` instances that satisfy various criteria.

### Uses of IQuery in org.eclipse.equinox.p2.touchpoint.eclipse.query

Classes in org.eclipse.equinox.p2.touchpoint.eclipse.query that implement IQuery
`class` `OSGiBundleQuery` A query matching every `IInstallableUnit` that describes an OSGi bundle.

### Uses of IQuery in org.eclipse.equinox.p2.ui

Methods in org.eclipse.equinox.p2.ui that return IQuery
`IQuery<IInstallableUnit>` Policy.`getVisibleAvailableIUQuery()` Return a query that can be used to obtain the IInstallableUnits that should be presented to the user from the software repositories.
`IQuery<IInstallableUnit>` Policy.`getVisibleInstalledIUQuery()` Return a query that can be used to obtain the IInstallableUnits in the profile that should be presented to the user.

Methods in org.eclipse.equinox.p2.ui with parameters of type IQuery
`void` Policy.`setVisibleAvailableIUQuery​(IQuery<IInstallableUnit> query)` Set the query that can be used to obtain the IInstallableUnits that should be presented to the user.
`void` Policy.`setVisibleInstalledIUQuery​(IQuery<IInstallableUnit> query)` Set the query that can be used to obtain the IInstallableUnits in the profile that should be presented to the user.