Eclipse Platform Release 3.7

## org.eclipse.equinox.p2.query
Class CollectionResult<T>

    java.lang.Object
      org.eclipse.equinox.p2.query.CollectionResult<T>

All Implemented Interfaces:
  IQueryable<T>, IQueryResult<T>

    public class CollectionResult<T>

extends Object
implements IQueryResult<T>

This class allows to adapt java collections to a p2 a query result and as such something queryable

Since:
  2.0

Constructor Summary
`CollectionResult(Collection<T> collection)`

Method Summary
`boolean` `isEmpty()` Returns whether this QueryResult is empty.
`Iterator<T>` `iterator()` Returns an iterator on the collected objects.
`IQueryResult<T>` `query(IQuery<T> query, IProgressMonitor monitor)` Performs a query, passing any objects that satisfy the query to the provided collector.
`T[]` `toArray(Class<T> clazz)` Returns the collected objects as an array
`Set<T>` `toSet()` Creates a new Set copy with the contents of this query result.
`Set<T>` `toUnmodifiableSet()` Returns a Set backed by this query result.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CollectionResult

    public CollectionResult(Collection<T> collection)

Method Detail

### query

    public IQueryResult<T> query(IQuery<T> query,
                                 IProgressMonitor monitor)

  Description copied from interface: `IQueryable`
  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.

  Specified by:
    `query` in interface `IQueryable<T>`
  Parameters:
    `query` - The query to perform
    `monitor` - a progress monitor, or `null` if progress reporting is not desired
  Returns:
    The collector argument

### isEmpty

    public boolean isEmpty()

  Description copied from interface: `IQueryResult`
  Returns whether this QueryResult is empty.

  Specified by:
    `isEmpty` in interface `IQueryResult<T>`
  Returns:
    `true` if this QueryResult has accepted any results, and `false` otherwise.

### iterator

    public Iterator<T> iterator()

  Description copied from interface: `IQueryResult`
  Returns an iterator on the collected objects.

  Specified by:
    `iterator` in interface `IQueryResult<T>`
  Returns:
    an iterator of the collected objects.

### toArray

    public T[] toArray(Class<T> clazz)

  Description copied from interface: `IQueryResult`
  Returns the collected objects as an array

  Specified by:
    `toArray` in interface `IQueryResult<T>`
  Parameters:
    `clazz` - The type of array to return
  Returns:
    The array of results

### toSet

    public Set<T> toSet()

  Description copied from interface: `IQueryResult`
  Creates a new Set copy with the contents of this query result. The copy can be altered without any side effects on its origin.

  Specified by:
    `toSet` in interface `IQueryResult<T>`
  Returns:
    A detached copy of the result.

### toUnmodifiableSet

    public Set<T> toUnmodifiableSet()

  Description copied from interface: `IQueryResult`
  Returns a Set backed by this query result. The set is immutable.

  Specified by:
    `toUnmodifiableSet` in interface `IQueryResult<T>`
  Returns:
    A Set backed by this query result.

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.