Class IterableProviderImpl<T>

  • Type Parameters:
    T - The type for this provider
    All Implemented Interfaces:
    Iterable<T>, javax.inject.Provider<T>, IterableProvider<T>

    public class IterableProviderImpl<T>
    extends Object
    implements IterableProvider<T>
    Author:
    jwells
    • Method Detail

      • get

        public T get()
        Specified by:
        get in interface javax.inject.Provider<T>
      • getHandle

        public ServiceHandle<T> getHandle()
        Description copied from interface: IterableProvider
        Rather than getting the service directly with get (in which case the returned service cannot be disposed of) this method will instead return a service handle for the current best service.
        Specified by:
        getHandle in interface IterableProvider<T>
        Returns:
        A ServiceHandle for the service, or null if there is currently no service definition available
      • getSize

        public int getSize()
        Description copied from interface: IterableProvider
        Returns the size of the iterator that would be returned
        Specified by:
        getSize in interface IterableProvider<T>
        Returns:
        the size of the iterator that would be chosen
      • named

        public IterableProvider<T> named​(String name)
        Description copied from interface: IterableProvider
        Returns an IterableProvider that is further qualified with the given name
        Specified by:
        named in interface IterableProvider<T>
        Parameters:
        name - The value field of the Named annotation parameter. Must not be null
        Returns:
        An iterable provider further qualified with the given name
      • ofType

        public <U> IterableProvider<U> ofType​(Type type)
        Description copied from interface: IterableProvider
        Returns an IterableProvider that is of the given type. This type must be one of the type safe contracts of the original iterator
        Specified by:
        ofType in interface IterableProvider<T>
        Parameters:
        type - The type to restrict the returned iterator to
        Returns:
        An iterator restricted to only providing the given type
      • qualifiedWith

        public IterableProvider<T> qualifiedWith​(Annotation... qualifiers)
        Description copied from interface: IterableProvider
        A set of qualifiers to further restrict this iterator to.
        Specified by:
        qualifiedWith in interface IterableProvider<T>
        Parameters:
        qualifiers - The qualifiers to further restrict this iterator to
        Returns:
        An iterator restricted with the given qualifiers
      • handleIterator

        public Iterable<ServiceHandle<T>> handleIterator()
        Description copied from interface: IterableProvider
        This version of iterator returns an iterator of ServiceHandles rather than returning the services (which then have no way to be properly destroyed)
        Specified by:
        handleIterator in interface IterableProvider<T>
        Returns:
        An iterator of ServiceHandles for the set of services represtended by this IterableProvider