T
- The type of this IterableProviderpublic interface IterableProvider<T> extends javax.inject.Provider<T>, Iterable<T>
Provider
when
it is desired to iterate over more than one returned instance of the type.
This interface also has several methods which allow the user to further
narrow down the selected services at runtime. It can also provide
an Iterable
of ServiceHandle
for finer control of the lifecycle
of services found
The iterator returned will be in ranked order (with DescriptorRank as primary key, largest rank first and ServiceID as secondary key, smallest id first)
Modifier and Type | Method and Description |
---|---|
ServiceHandle<T> |
getHandle()
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.
|
int |
getSize()
Returns the size of the iterator that would be returned
|
Iterable<ServiceHandle<T>> |
handleIterator()
This version of iterator returns an iterator of ServiceHandles rather
than returning the services (which then have no way to be properly
destroyed)
|
IterableProvider<T> |
named(String name)
Returns an IterableProvider that is further qualified
with the given name
|
<U> IterableProvider<U> |
ofType(Type type)
Returns an IterableProvider that is of the given type.
|
IterableProvider<T> |
qualifiedWith(Annotation... qualifiers)
A set of qualifiers to further restrict this iterator to.
|
forEach, iterator, spliterator
ServiceHandle<T> getHandle()
int getSize()
IterableProvider<T> named(String name)
name
- The value field of the Named annotation parameter. Must
not be null<U> IterableProvider<U> ofType(Type type)
type
- The type to restrict the returned iterator toIterableProvider<T> qualifiedWith(Annotation... qualifiers)
qualifiers
- The qualifiers to further restrict this iterator toIterable<ServiceHandle<T>> handleIterator()
Copyright © 2009-2017, Oracle and/or its affiliates. All Rights Reserved.