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

Packages that use IQuery
Package
Description
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
Modifier and Type
Method
Description
`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
Modifier and Type
Class
Description
`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
Modifier and Type
Method
Description
`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
Modifier and Type
Interface
Description
`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
Modifier and Type
Interface
Description
`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
Modifier and Type
Class
Description
`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
Modifier and Type
Field
Description
`static final IQuery<IInstallableUnit>`
QueryUtil.`ALL_UNITS`
`static final IQuery<IInstallableUnit>`
QueryUtil.`NO_UNITS`
Methods in org.eclipse.equinox.p2.query that return IQuery
Modifier and Type
Method
Description
`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 `matchingClass` 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 `matchingClass` 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 `matchingClass`.
`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 `matchingClass`.
`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
Modifier and Type
Method
Description
`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
Modifier and Type
Method
Description
`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
Modifier and Type
Class
Description
`final class`
`ArtifactDescriptorQuery`
A general purpose query for matching `IArtifactDescriptor` instances that satisfy various criteria.
`final 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
Modifier and Type
Class
Description
`final 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
Modifier and Type
Method
Description
`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
Modifier and Type
Method
Description
`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.