Package org.jvnet.hk2.internal
Class IterableProviderImpl<T>
- java.lang.Object
-
- org.jvnet.hk2.internal.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 Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description T
get()
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 returnedIterable<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)Iterator<T>
iterator()
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.String
toString()
-
-
-
Method Detail
-
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 interfaceIterableProvider<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 interfaceIterableProvider<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 interfaceIterableProvider<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 interfaceIterableProvider<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 interfaceIterableProvider<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 interfaceIterableProvider<T>
- Returns:
- An iterator of ServiceHandles for the set of services represtended by this IterableProvider
-
-