public final class SeamComponentCallHelper extends Object
Why this class?
At startup time, Seam generates CGLib Wrappers around each Seam component. This wrapper holds all interceptors that are used for bijection. Because of that, accessing a Seam component by its reference will lead to call a disinjected instance (all @In member variables are null).
Seam components are usually accessed via EL or via injected references, in this cases, Seam takes care of everything and you get a functional instance. But in some cases, you need to access a Seam component:
Modifier and Type | Method and Description |
---|---|
static Object |
callSeamComponentByName(String seamName,
String methodName,
Object param)
Calls a Seam component by name.
|
static Object |
callSeamComponentByName(String seamName,
String methodName,
Object[] params)
Calls a Seam component by name.
|
static Object |
callSeamComponentByRef(Object seamRef,
String methodName,
Object param)
Calls a Seam component by reference.
|
static Object |
callSeamComponentByRef(Object seamRef,
String methodName,
Object[] params)
Calls a Seam component by reference.
|
static Object |
getSeamComponentByName(String seamName)
Gets the CGLib-wrapped Seam component from its name.
|
static Object |
getSeamComponentByRef(Object seamRef)
Gets the CGLib-wrapped Seam component from a reference.
|
public static Object getSeamComponentByName(String seamName)
seamName
- the name of the Seam componentpublic static Object getSeamComponentByRef(Object seamRef)
seamRef
- reference of the object behind the Seam componentpublic static Object callSeamComponentByName(String seamName, String methodName, Object[] params)
seamName
- the name of the Seam componentmethodName
- the method name (for ejb3 method must be exposed in the local interface)params
- parameters as Object[]RuntimeException
public static Object callSeamComponentByRef(Object seamRef, String methodName, Object[] params)
seamRef
- the reference on the object behind the Seam componentmethodName
- the method name (for ejb3 method must be exposed in the local interface)params
- parameters as Object[]RuntimeException
public static Object callSeamComponentByRef(Object seamRef, String methodName, Object param)
seamRef
- the reference on the object behind the Seam componentmethodName
- the method name (for ejb3 method must be exposed in the local interface)param
- parameter as ObjectRuntimeException
public static Object callSeamComponentByName(String seamName, String methodName, Object param)
seamName
- the name of the Seam componentmethodName
- the method name (for ejb3 method must be exposed in the local interface)param
- parameters as Object[]RuntimeException
Copyright © 2016 Nuxeo SA. All rights reserved.