Package org.eclipse.equinox.p2.query

# Interface IQueryable<T>

All Known Subinterfaces:
  `IArtifactRepository`, `IArtifactRepositoryManager`, `ICompositeRepository<T>`, `IFileArtifactRepository`, `IMetadataRepository`, `IMetadataRepositoryManager`, `IProfile`, `IQueryResult<T>`, `IRepository<T>`, `IRepositoryManager<T>`

All Known Implementing Classes:
  `AbstractArtifactRepository`, `AbstractMetadataRepository`, `AbstractRepository`, `CollectionResult`, `Collector`, `CompoundQueryable`, `org.eclipse.equinox.internal.p2.metadata.index.IndexProvider`

public interface IQueryable<T>
An IQueryable contains objects, and is able to perform queries on those objects.

This interface may be implemented by clients.

Since:
  2.0

## Method Summary

Modifier and Type
Method
Description
`IQueryResult<T>`
`query(IQuery<T> query, IProgressMonitor monitor)`
Performs a query, passing any objects that satisfy the query to the provided collector.

## Method Details

### query

IQueryResult<T> query(IQuery<T> query, IProgressMonitor monitor)
Performs a query, passing any objects that satisfy the query to the provided collector.

This method is long-running; progress and cancellation are provided by the given progress monitor.

Parameters:
  `query` - The query to perform
  `monitor` - a progress monitor, or `null` if progress reporting is not desired
Returns:
  The collector argument