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()
ServiceHandle
getService
in interface ServiceHandle<T>
private Injectee getLastInjectee()
T getService(ServiceHandle<T> handle)
public ActiveDescriptor<T> getActiveDescriptor()
ServiceHandle
getActiveDescriptor
in interface ServiceHandle<T>
public boolean isActive()
ServiceHandle
isActive
in interface ServiceHandle<T>
public void destroy()
ServiceHandle
destroy
in interface ServiceHandle<T>
public void setServiceData(java.lang.Object serviceData)
ServiceHandle
setServiceData
in interface ServiceHandle<T>
serviceData
- Sets the serviceData for the handle
(may be null)public java.lang.Object getServiceData()
ServiceHandle
getServiceData
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