org.apache.webbeans.container
Class InjectionResolver

java.lang.Object
  extended by org.apache.webbeans.container.InjectionResolver

public class InjectionResolver
extends Object

Injection point resolver class.

It is a singleton class per ClassLoader per JVM. It is responsible for resolving the bean instances at the injection points for its bean manager.

Version:
$Rev: 1182780 $ $Date: 2011-10-13 13:11:03 +0200 (Do, 13 Okt 2011) $
See Also:
WebBeansFinder

Field Summary
static ThreadLocal<javax.enterprise.inject.spi.InjectionPoint> injectionPoints
           
 
Constructor Summary
InjectionResolver(WebBeansContext webBeansContext)
          Creates a new injection resolve for given bean manager.
 
Method Summary
 void checkInjectionPoints(javax.enterprise.inject.spi.InjectionPoint injectionPoint)
          Check that bean exist in the deployment for given injection point definition.
 void checkInjectionPointType(javax.enterprise.inject.spi.InjectionPoint injectionPoint)
          Check the type of the injection point.
 void clearCaches()
          Clear caches.
 Set<javax.enterprise.inject.spi.Bean<?>> findByAlternatives(Set<javax.enterprise.inject.spi.Bean<?>> result)
          Gets alternatives from set.
 Set<javax.enterprise.inject.spi.Bean<?>> findByAlternatives(Set<javax.enterprise.inject.spi.Bean<?>> result, String bdaBeansXMLFilePath)
          Gets alternatives from set.
 Set<javax.enterprise.inject.spi.Bean<?>> findBySpecialization(Set<javax.enterprise.inject.spi.Bean<?>> result)
          Returns specialized beans if exists, otherwise return input result
 javax.enterprise.inject.spi.Bean<?> getInjectionPointBean(javax.enterprise.inject.spi.InjectionPoint injectionPoint)
          Returns bean for injection point.
static InjectionResolver getInstance()
          Returns bean manager injection resolver.
 Set<javax.enterprise.inject.spi.Bean<?>> implResolveByName(String name)
          Returns set of beans for given bean name.
 Set<javax.enterprise.inject.spi.Bean<?>> implResolveByType(Type injectionPointType, Annotation... qualifiers)
          Resolution by type.
 Set<javax.enterprise.inject.spi.Bean<?>> implResolveByType(Type injectionPointType, Class<?> injectinPointClass, Annotation... qualifiers)
          Resolution by type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

injectionPoints

public static ThreadLocal<javax.enterprise.inject.spi.InjectionPoint> injectionPoints
Constructor Detail

InjectionResolver

public InjectionResolver(WebBeansContext webBeansContext)
Creates a new injection resolve for given bean manager.

Parameters:
webBeansContext - WebBeansContext
Method Detail

clearCaches

public void clearCaches()
Clear caches.


getInstance

public static InjectionResolver getInstance()
Returns bean manager injection resolver.

Returns:
bean manager injection resolver
See Also:
WebBeansFinder

checkInjectionPointType

public void checkInjectionPointType(javax.enterprise.inject.spi.InjectionPoint injectionPoint)
Check the type of the injection point.

Injection point type can not be TypeVariable.

Parameters:
injectionPoint - injection point
Throws:
WebBeansConfigurationException - if not obey the rule

checkInjectionPoints

public void checkInjectionPoints(javax.enterprise.inject.spi.InjectionPoint injectionPoint)
Check that bean exist in the deployment for given injection point definition.

Parameters:
injectionPoint - injection point
Throws:
WebBeansConfigurationException - If bean is not avialable in the current deployment for given injection

getInjectionPointBean

public javax.enterprise.inject.spi.Bean<?> getInjectionPointBean(javax.enterprise.inject.spi.InjectionPoint injectionPoint)
Returns bean for injection point.

Parameters:
injectionPoint - injection point declaration
Returns:
bean for injection point

implResolveByName

public Set<javax.enterprise.inject.spi.Bean<?>> implResolveByName(String name)
Returns set of beans for given bean name.

Parameters:
name - bean name
Returns:
set of beans for given bean name

implResolveByType

public Set<javax.enterprise.inject.spi.Bean<?>> implResolveByType(Type injectionPointType,
                                                                  Annotation... qualifiers)
Resolution by type.

Parameters:
injectionPointType - injection point api type
qualifiers - qualifiers of the injection point
Returns:
set of resolved beans

implResolveByType

public Set<javax.enterprise.inject.spi.Bean<?>> implResolveByType(Type injectionPointType,
                                                                  Class<?> injectinPointClass,
                                                                  Annotation... qualifiers)
Resolution by type.

Parameters:
injectionPointType - injection point api type
qualifiers - qualifiers of the injection point
Returns:
set of resolved beans

findBySpecialization

public Set<javax.enterprise.inject.spi.Bean<?>> findBySpecialization(Set<javax.enterprise.inject.spi.Bean<?>> result)
Returns specialized beans if exists, otherwise return input result

Parameters:
result - result beans
Returns:
specialized beans if exists, otherwise return input result

findByAlternatives

public Set<javax.enterprise.inject.spi.Bean<?>> findByAlternatives(Set<javax.enterprise.inject.spi.Bean<?>> result)
Gets alternatives from set.

Parameters:
result - resolved set
Returns:
containes alternatives

findByAlternatives

public Set<javax.enterprise.inject.spi.Bean<?>> findByAlternatives(Set<javax.enterprise.inject.spi.Bean<?>> result,
                                                                   String bdaBeansXMLFilePath)
Gets alternatives from set.

Parameters:
result - resolved set
Returns:
containes alternatives


Copyright © 2008-2011 The Apache Software Foundation. All Rights Reserved.