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 Details

    • CompoundQueryable

      public CompoundQueryable(IQueryable<T>[] queryables)
    • CompoundQueryable

      public CompoundQueryable(Collection<? extends IQueryable<T>> queryables)
      Creates a queryable that combines the given collection of input queryables
      Parameters:
      queryables - The collection of queryables to be combined
      Since:
      2.8
  • Method Details

    • 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.
    • contains

      public boolean contains(T element)
      Description copied from interface: IQueryable
      Returns true if this queryable contains the given element, else false.
      Parameters:
      element - the element to query for
      Returns:
      true if the given element is found in this queryable
    • 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.