Class 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 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.