jodd.petite
Class PetiteBeans

java.lang.Object
  extended by jodd.petite.PetiteBeans
Direct Known Subclasses:
PetiteContainer

public abstract class PetiteBeans
extends java.lang.Object

Base layer of Petite Container. Holds beans and scopes definitions.


Field Summary
protected  java.util.Map<java.lang.Class,java.lang.String[]> beanCollections
          Map of all bean collections.
protected  java.util.Map<java.lang.String,BeanDefinition> beans
          Map of all beans definitions.
protected  InjectionPointFactory injectionPointFactory
          Injection point factory.
protected  ParamManager paramManager
          Parameters manager.
protected  PetiteConfig petiteConfig
          Petite configuration.
protected  PetiteResolvers petiteResolvers
          Petite resolvers.
protected  java.util.Map<java.lang.String,ProviderDefinition> providers
          Map of all providers.
protected  java.util.Map<java.lang.Class<? extends Scope>,Scope> scopes
          Map of all bean scopes.
 
Constructor Summary
protected PetiteBeans(PetiteConfig petiteConfig)
           
 
Method Summary
 void defineParameter(java.lang.String name, java.lang.Object value)
          Defines new parameter.
 void defineParameters(java.util.Map<?,?> properties)
          Defines many parameters at once.
 void defineParameters(jodd.props.Props props)
          Defines many parameters at once from Props.
 java.util.Set<java.lang.String> getBeanNames()
          Returns set of all bean names.
 PetiteConfig getConfig()
          Returns Petite configuration.
 java.lang.Object getParameter(java.lang.String name)
          Returns defined parameter.
 ParamManager getParamManager()
          Returns parameter manager.
 int getTotalBeans()
          Returns total number of registered beans.
 int getTotalScopes()
          Returns total number of used scopes.
 boolean isBeanNameRegistered(java.lang.String name)
          Returns true if bean name is registered.
 BeanDefinition lookupBeanDefinition(java.lang.String name)
          Lookups for bean definition.
protected  BeanDefinition lookupBeanDefinitions(java.lang.String... names)
          Lookups for first founded bean definition.
protected  BeanDefinition lookupExistingBeanDefinition(java.lang.String name)
          Lookups for existing bean.
 BeanDefinition registerPetiteBean(java.lang.Class type, java.lang.String name, java.lang.Class<? extends Scope> scopeType, WiringMode wiringMode, boolean define)
          Registers or defines a bean.
 void registerPetiteCtorInjectionPoint(java.lang.String beanName, java.lang.Class[] paramTypes, java.lang.String[] references)
          Registers constructor injection point.
 void registerPetiteInitMethods(java.lang.String beanName, InitMethodInvocationStrategy invocationStrategy, java.lang.String... initMethodNames)
          Registers init method.
 void registerPetiteMethodInjectionPoint(java.lang.String beanName, java.lang.String methodName, java.lang.Class[] arguments, java.lang.String[] references)
          Registers method injection point.
 void registerPetitePropertyInjectionPoint(java.lang.String beanName, java.lang.String property, java.lang.String reference)
          Registers property injection point.
 void registerPetiteProvider(java.lang.String providerName, java.lang.Class type, java.lang.String staticMethodName, java.lang.Class[] arguments)
          Registers static method provider.
 void registerPetiteProvider(java.lang.String providerName, java.lang.String beanName, java.lang.String methodName, java.lang.Class[] arguments)
          Registers instance method provider.
 void registerPetiteSetInjectionPoint(java.lang.String beanName, java.lang.String property)
          Registers set injection point.
 void registerScope(java.lang.Class<? extends Scope> scopeType, Scope scope)
          Registers new scope.
 void removeBean(java.lang.Class type)
          Removes all petite beans of provided type.
 BeanDefinition removeBean(java.lang.String name)
          Removes bean and returns definition of removed bean.
 java.lang.String resolveBeanName(java.lang.Class type)
          Resolves bean's name from bean annotation or type name.
protected  java.lang.String[] resolveBeanNamesForType(java.lang.Class type)
          Resolves bean names for give type.
protected  java.lang.String[] resolveBeanParams(java.lang.String name, boolean resolveReferenceParams)
          Prepares list of all bean parameters and optionally resolves inner references.
protected  Scope resolveScope(java.lang.Class<? extends Scope> scopeType)
          Resolves scope from scope type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

beans

protected final java.util.Map<java.lang.String,BeanDefinition> beans
Map of all beans definitions.


scopes

protected final java.util.Map<java.lang.Class<? extends Scope>,Scope> scopes
Map of all bean scopes.


providers

protected final java.util.Map<java.lang.String,ProviderDefinition> providers
Map of all providers.


beanCollections

protected final java.util.Map<java.lang.Class,java.lang.String[]> beanCollections
Map of all bean collections.


petiteConfig

protected final PetiteConfig petiteConfig
Petite configuration.


injectionPointFactory

protected final InjectionPointFactory injectionPointFactory
Injection point factory.


petiteResolvers

protected final PetiteResolvers petiteResolvers
Petite resolvers.


paramManager

protected final ParamManager paramManager
Parameters manager.

Constructor Detail

PetiteBeans

protected PetiteBeans(PetiteConfig petiteConfig)
Method Detail

getParamManager

public ParamManager getParamManager()
Returns parameter manager.


getConfig

public PetiteConfig getConfig()
Returns Petite configuration. All changes on config should be done before beans registration process starts.


resolveScope

protected Scope resolveScope(java.lang.Class<? extends Scope> scopeType)
Resolves scope from scope type.


registerScope

public void registerScope(java.lang.Class<? extends Scope> scopeType,
                          Scope scope)
Registers new scope. It is not necessary to manually register scopes, since they become registered on first scope resolving. However, it is possible to pre-register some scopes, or to replace one scope type with another. This may be important for testing purposes when using container-depended scopes.


lookupBeanDefinition

public BeanDefinition lookupBeanDefinition(java.lang.String name)
Lookups for bean definition. Returns null if bean name doesn't exist.


lookupBeanDefinitions

protected BeanDefinition lookupBeanDefinitions(java.lang.String... names)
Lookups for first founded bean definition.


lookupExistingBeanDefinition

protected BeanDefinition lookupExistingBeanDefinition(java.lang.String name)
Lookups for existing bean. Throws exception if bean is not found.


isBeanNameRegistered

public boolean isBeanNameRegistered(java.lang.String name)
Returns true if bean name is registered.


resolveBeanName

public java.lang.String resolveBeanName(java.lang.Class type)
Resolves bean's name from bean annotation or type name. May be used for resolving bean name of base type during registration of bean subclass.


registerPetiteBean

public BeanDefinition registerPetiteBean(java.lang.Class type,
                                         java.lang.String name,
                                         java.lang.Class<? extends Scope> scopeType,
                                         WiringMode wiringMode,
                                         boolean define)
Registers or defines a bean.

Parameters:
type - bean type, must be specified
name - bean name, if null it will be resolved from the class (name or annotation)
scopeType - bean scope, if null it will be resolved from the class (annotation or default one)
wiringMode - wiring mode, if null it will be resolved from the class (annotation or default one)
define - when set to true bean will be defined - all injection points will be set to none

removeBean

public void removeBean(java.lang.Class type)
Removes all petite beans of provided type. Bean name is not resolved from a type! Instead, all beans are iterated and only beans with equal types are removed.

See Also:
removeBean(String)

removeBean

public BeanDefinition removeBean(java.lang.String name)
Removes bean and returns definition of removed bean. All resolvers references are deleted, too. Returns bean definition of removed bean or null.


resolveBeanNamesForType

protected java.lang.String[] resolveBeanNamesForType(java.lang.Class type)
Resolves bean names for give type.


registerPetiteCtorInjectionPoint

public void registerPetiteCtorInjectionPoint(java.lang.String beanName,
                                             java.lang.Class[] paramTypes,
                                             java.lang.String[] references)
Registers constructor injection point.

Parameters:
beanName - bean name
paramTypes - constructor parameter types, may be null
references - references for arguments

registerPetitePropertyInjectionPoint

public void registerPetitePropertyInjectionPoint(java.lang.String beanName,
                                                 java.lang.String property,
                                                 java.lang.String reference)
Registers property injection point.

Parameters:
beanName - bean name
property - property name
reference - explicit injection reference, may be null

registerPetiteSetInjectionPoint

public void registerPetiteSetInjectionPoint(java.lang.String beanName,
                                            java.lang.String property)
Registers set injection point.

Parameters:
beanName - bean name
property - set property name

registerPetiteMethodInjectionPoint

public void registerPetiteMethodInjectionPoint(java.lang.String beanName,
                                               java.lang.String methodName,
                                               java.lang.Class[] arguments,
                                               java.lang.String[] references)
Registers method injection point.

Parameters:
beanName - bean name
methodName - method name
arguments - method arguments, may be null
references - injection references

registerPetiteInitMethods

public void registerPetiteInitMethods(java.lang.String beanName,
                                      InitMethodInvocationStrategy invocationStrategy,
                                      java.lang.String... initMethodNames)
Registers init method.

Parameters:
beanName - bean name
invocationStrategy - moment of invocation
initMethodNames - init method names

registerPetiteProvider

public void registerPetiteProvider(java.lang.String providerName,
                                   java.lang.String beanName,
                                   java.lang.String methodName,
                                   java.lang.Class[] arguments)
Registers instance method provider.

Parameters:
providerName - provider name
beanName - bean name
methodName - instance method name
arguments - method argument types, may be null

registerPetiteProvider

public void registerPetiteProvider(java.lang.String providerName,
                                   java.lang.Class type,
                                   java.lang.String staticMethodName,
                                   java.lang.Class[] arguments)
Registers static method provider.

Parameters:
providerName - provider name
type - class type
staticMethodName - static method name
arguments - method argument types, may be null

getTotalBeans

public int getTotalBeans()
Returns total number of registered beans.


getTotalScopes

public int getTotalScopes()
Returns total number of used scopes.


getBeanNames

public java.util.Set<java.lang.String> getBeanNames()
Returns set of all bean names.


defineParameter

public void defineParameter(java.lang.String name,
                            java.lang.Object value)
Defines new parameter. Parameters with same name will be replaced.


getParameter

public java.lang.Object getParameter(java.lang.String name)
Returns defined parameter.


resolveBeanParams

protected java.lang.String[] resolveBeanParams(java.lang.String name,
                                               boolean resolveReferenceParams)
Prepares list of all bean parameters and optionally resolves inner references.


defineParameters

public void defineParameters(java.util.Map<?,?> properties)
Defines many parameters at once.


defineParameters

public void defineParameters(jodd.props.Props props)
Defines many parameters at once from Props.



Copyright © 2003-2013 Jodd Team