Package 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 Description CompoundQueryable(IQueryable<T>[] queryables)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 amemberName
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 aclient
object.
-
-
-
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 amemberName
that denotes a member of the index type.- Parameters:
memberName
- A member of typeT
.- 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 aclient
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.
-
-