Anchor | ||||
---|---|---|---|---|
|
Session
. The Session can be obtained through the SessionManager
. Access to the SessionManager
is realized by using the dependency injection mechanism as provided by the XperienCentral framework. To implement the dependency injection, two steps need to be performed:- Add a dependency on the
SessionManager
in the Activator - Add a private property and public setter in the implementation
In This Topic
Table of Contents | ||
---|---|---|
|
Add a Dependency on the SessionManager
in the Activator
To add a dependency on the SessionManager
add the following lines to the component definition that is present in the activator.java
:
Code Block | ||
---|---|---|
| ||
ComponentDependencyImpl sessionManagerDependency = new ComponentDependencyImpl(); sessionManagerDependency.setServiceName(SessionManager.class.getName()); sessionManagerDependency.setRequired(true); myComponentDefinition.setDependencies(new ComponentDependency[] { sessionManagerDependency}); |
Note |
---|
The property |
Add the Private Property and Public Setter
The dependency injection mechanism of the XperienCentral framework will inject an instance of the SessionManager
into components that depends on the SessionManager
. The only thing the implementation class (e.g. myServiceImpl.java
) needs to have is a private member with a SessionManager
class:
Code Block | ||
---|---|---|
| ||
private SessionManager mySessionManager; |
For Elements, Panels and MediaItems, a public setter is also necessary:
Code Block | ||
---|---|---|
| ||
public void setSessionManager(SessionManager sessionManager) { mySessionManager = sessionManager; } |
This method is called by the OSGi framework each time an instance of, for example, an element is created. The OSGi framework looks for a method that starts with "set" and that has one parameter of the class that is being depended on (in the example SessionManager
).