RichFaces Core API 4.3.0.CR2

org.richfaces.application
Class ServiceTracker

java.lang.Object
  extended by org.richfaces.application.ServiceTracker

public final class ServiceTracker
extends Object

Tracker class to provide access to various framework implementation services. Examples of such services are: SkinFactory, TBD.

This class managess application-scoped service factories that are stored in the map with Thread.currentThread() Context classloader as the key. Therefore, there is only one instance per JEE application in the current JVM.

actuall cal for the service instance delegated to the current factory

services tracking class diagramm

Note: in initial state this class is not synchronized and presumes that all modification operations are done in a context of single-thread (in JSF initialization listener).

Since:
4.0
Author:
Nick Belaevski

Method Summary
static
<T> T
getProxy(Class<T> targetService)
          Provides proxy which delegates to the given targetService
static
<T> T
getService(Class<T> target)
          

Get service instance for given type.

static
<T> T
getService(javax.faces.context.FacesContext context, Class<T> target)
          

Get service instance for given type.

static void release()
          

Release factory service associated with current context.

static void setFactory(ServicesFactory factory)
          

Set service factory implementation for the current context.

 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getService

public static <T> T getService(Class<T> target)

Get service instance for given type. This is a wrapper method for getService(FacesContext, Class) that gets faces context by FacesContext.getCurrentInstance() call, if needed.

Type Parameters:
T - The service type, usually interface.
Parameters:
target - Service type class.
Returns:
service implementation instance.

getService

public static <T> T getService(javax.faces.context.FacesContext context,
                               Class<T> target)

Get service instance for given type.

Type Parameters:
T - The service type, usually interface.
Parameters:
context - current FacesContext.
target - Service type class.
Returns:
service instance.

setFactory

public static void setFactory(ServicesFactory factory)

Set service factory implementation for the current context.

Parameters:
factory -

release

public static void release()

Release factory service associated with current context.


getProxy

public static <T> T getProxy(Class<T> targetService)
Provides proxy which delegates to the given targetService

Parameters:
targetService - the service to delegate operations to
Returns:
proxy which delegates to the given targetService

RichFaces Core API 4.3.0.CR2

Copyright © 2013 JBoss by Red Hat. All Rights Reserved.