T - The type of service to createpublic class ServiceHandleImpl<T> extends java.lang.Object implements ServiceHandle<T>
| Modifier and Type | Field and Description |
|---|---|
private java.util.LinkedList<Injectee> |
injectees |
private ServiceLocatorImpl |
locator |
private java.lang.Object |
lock |
private ActiveDescriptor<T> |
root |
private T |
service |
private java.lang.Object |
serviceData |
private boolean |
serviceDestroyed |
private boolean |
serviceSet |
private java.util.LinkedList<ServiceHandleImpl<?>> |
subHandles |
| Constructor and Description |
|---|
ServiceHandleImpl(ServiceLocatorImpl locator,
ActiveDescriptor<T> root,
Injectee injectee) |
| Modifier and Type | Method and Description |
|---|---|
void |
addSubHandle(ServiceHandleImpl<?> subHandle)
Add a sub handle to this for proper destruction
|
void |
destroy()
Will destroy this object and all PerLookup instances created
because of this service
|
ActiveDescriptor<T> |
getActiveDescriptor()
Returns the ActiveDescriptor associated with this service handle
|
private Injectee |
getLastInjectee() |
Injectee |
getOriginalRequest() |
T |
getService()
Gets the underlying service object
|
(package private) T |
getService(ServiceHandle<T> handle) |
java.lang.Object |
getServiceData()
Service data can be set on a service handle.
|
boolean |
isActive()
This returns true if the underlying service has already been
created
|
void |
popInjectee() |
void |
pushInjectee(Injectee push) |
void |
setServiceData(java.lang.Object serviceData)
Service data can be set on a service handle.
|
java.lang.String |
toString() |
private ActiveDescriptor<T> root
private final ServiceLocatorImpl locator
private final java.util.LinkedList<Injectee> injectees
private final java.lang.Object lock
private boolean serviceDestroyed
private boolean serviceSet
private T service
private java.lang.Object serviceData
private final java.util.LinkedList<ServiceHandleImpl<?>> subHandles
ServiceHandleImpl(ServiceLocatorImpl locator, ActiveDescriptor<T> root, Injectee injectee)
public T getService()
ServiceHandlegetService in interface ServiceHandle<T>private Injectee getLastInjectee()
T getService(ServiceHandle<T> handle)
public ActiveDescriptor<T> getActiveDescriptor()
ServiceHandlegetActiveDescriptor in interface ServiceHandle<T>public boolean isActive()
ServiceHandleisActive in interface ServiceHandle<T>public void destroy()
ServiceHandledestroy in interface ServiceHandle<T>public void setServiceData(java.lang.Object serviceData)
ServiceHandlesetServiceData in interface ServiceHandle<T>serviceData - Sets the serviceData for the handle
(may be null)public java.lang.Object getServiceData()
ServiceHandlegetServiceData in interface ServiceHandle<T>public void pushInjectee(Injectee push)
public void popInjectee()
public void addSubHandle(ServiceHandleImpl<?> subHandle)
subHandle - A handle to add for proper destructionpublic Injectee getOriginalRequest()
public java.lang.String toString()
toString in class java.lang.Object