Eclipse Platform
Release 3.6

org.eclipse.equinox.p2.query
Class CompoundQueryable<T>

java.lang.Object
  extended by org.eclipse.equinox.internal.p2.metadata.index.IndexProvider<T>
      extended by 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
CompoundQueryable(IQueryable<T>[] queryables)
           
 
Method Summary
 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.

Eclipse Platform
Release 3.6

Guidelines for using Eclipse APIs.

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