org.eclipse.equinox.p2.query

## Class CompoundQueryable<T>

- java.lang.Object
- - org.eclipse.equinox.internal.p2.metadata.index.IndexProvider<T>
  - - org.eclipse.equinox.p2.query.CompoundQueryable<T>

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

    public final class CompoundQueryable<T>
    extends org.eclipse.equinox.internal.p2.metadata.index.IndexProvider<T>

A queryable that holds a number of other IQueryables and provides a mechanism for querying the entire set.

Since:
  2.0

### Constructor Summary

Constructors
Constructor and Description
`CompoundQueryable(IQueryable<T>[] queryables)`

### Method Summary

All Methods Instance Methods Concrete Methods
`Iterator<T>` `everything()` Return the iterator that delivers all rows that the target query should consider.
`IIndex<T>` `getIndex(String memberName)` Return an index optimized for producing candidates based on values for a `memberName` that denotes a member of the index type.
`Object` `getManagedProperty(Object client, String memberName, Object key)` Returns a property that this index manages on behalf of a `client` object.

### Methods inherited from class org.eclipse.equinox.internal.p2.metadata.index.IndexProvider

`query, query`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### CompoundQueryable

    public CompoundQueryable(IQueryable<T>[] queryables)

### Method Detail

#### getIndex

    public IIndex<T> getIndex(String memberName)

Description copied from interface: `IIndexProvider`
Return an index optimized for producing candidates based on values for a `memberName` that denotes a member of the index type.

Parameters:
  `memberName` - A member of type `T`.
Returns:
  An index or `null` if this provider does not support this index.

#### everything

    public Iterator<T> everything()

Description copied from interface: `IIndexProvider`
Return the iterator that delivers all rows that the target query should consider. This is used when no index can be found for any possible member.

Returns:
  An iterator. Possibly empty but never `null`.

#### getManagedProperty

    public Object getManagedProperty(Object client,
                                     String memberName,
                                     Object key)

Description copied from interface: `IIndexProvider`
Returns a property that this index manages on behalf of a `client` object. Examples of this is the properties that a profile manages for installable units.

Parameters:
  `client` - The client for which the property is managed. Typically an IU.
  `memberName` - The name of the managed properties, i.e. "profileProperties"
  `key` - The property key
Returns:
  The managed property value or `null` if no value could be found.