Eclipse Platform
Release 3.6

org.eclipse.equinox.p2.metadata.index
Interface IIndexProvider<T>

All Known Implementing Classes:
CompoundQueryable, org.eclipse.equinox.internal.p2.metadata.index.IndexProvider

public interface IIndexProvider<T>

An index provider is typically an IQueryable.

Since:
2.0

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.
 

Method Detail

getIndex

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.

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

everything

Iterator<T> everything()
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

Object getManagedProperty(Object client,
                          String memberName,
                          Object key)
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.