@Override public Object lookup(final String name) { BeanData beanData = instances.get(name); if (beanData == null) { return null; } return beanData.bean(); }
@Override public Object lookup(final String name) { Map<String, BeanData> threadLocalMap = context.get(); BeanData beanData = threadLocalMap.get(name); if (beanData == null) { return null; } return beanData.bean(); }
@Override public Object lookup(final String name) { HttpSession session = getCurrentHttpSession(); Map<String, BeanData> map = getSessionMap(session); if (map == null) { return null; } BeanData beanData = map.get(name); if (beanData == null) { return null; } return beanData.bean(); }
@Override public Object lookup(final String name) { HttpServletRequest servletRequest = getCurrentHttpRequest(); Map<String, TransientBeanData> map = getRequestMap(servletRequest); if (map == null) { return null; } BeanData beanData = map.get(name).get(); if (beanData == null) { return null; } return beanData.bean(); }
/** * Returns Petite bean instance. * Petite container will find the bean in corresponding scope and all its dependencies, * either by constructor or property injection. When using constructor injection, cyclic dependencies * can not be prevented, but at least they are detected. * * @see PetiteContainer#createBean(Class) */ public <T> T getBean(final String name) { // Lookup for registered bean definition. BeanDefinition def = lookupBeanDefinition(name); if (def == null) { // try provider ProviderDefinition providerDefinition = providers.get(name); if (providerDefinition != null) { return (T) invokeProvider(providerDefinition); } return null; } // Find the bean in its scope Object bean = def.scopeLookup(); if (bean == null) { // Create new bean in the scope initBeanDefinition(def); final BeanData beanData = new BeanData(this, def); registerBeanAndWireAndInjectParamsAndInvokeInitMethods(beanData); bean = beanData.bean(); } return (T) bean; }
/** * Creates and wires a bean within the container and optionally invokes init methods. However, bean is * <b>not</b> registered. */ @SuppressWarnings({"unchecked"}) public <E> E createBean(final Class<E> type, final WiringMode wiringMode) { final WiringMode finalWiringMode = petiteConfig.resolveWiringMode(wiringMode); final BeanDefinition def = externalsCache.get( type, () -> { final BeanDefinition beanDefinition = createBeandDefinitionForExternalBeans(type, finalWiringMode); initBeanDefinition(beanDefinition); return beanDefinition; }); final BeanData<E> beanData = new BeanData(this, def); registerBeanAndWireAndInjectParamsAndInvokeInitMethods(beanData); return beanData.bean(); }
@Override public Object lookup(final String name) { BeanData beanData = instances.get(name); if (beanData == null) { return null; } return beanData.bean(); }
@Override public Object lookup(final String name) { Map<String, BeanData> threadLocalMap = context.get(); BeanData beanData = threadLocalMap.get(name); if (beanData == null) { return null; } return beanData.bean(); }
@Override public Object lookup(final String name) { HttpSession session = getCurrentHttpSession(); Map<String, BeanData> map = getSessionMap(session); if (map == null) { return null; } BeanData beanData = map.get(name); if (beanData == null) { return null; } return beanData.bean(); }
@Override public Object lookup(final String name) { HttpServletRequest servletRequest = getCurrentHttpRequest(); Map<String, TransientBeanData> map = getRequestMap(servletRequest); if (map == null) { return null; } BeanData beanData = map.get(name).get(); if (beanData == null) { return null; } return beanData.bean(); }
/** * Returns Petite bean instance. * Petite container will find the bean in corresponding scope and all its dependencies, * either by constructor or property injection. When using constructor injection, cyclic dependencies * can not be prevented, but at least they are detected. * * @see PetiteContainer#createBean(Class) */ public <T> T getBean(final String name) { // Lookup for registered bean definition. BeanDefinition def = lookupBeanDefinition(name); if (def == null) { // try provider ProviderDefinition providerDefinition = providers.get(name); if (providerDefinition != null) { return (T) invokeProvider(providerDefinition); } return null; } // Find the bean in its scope Object bean = def.scopeLookup(); if (bean == null) { // Create new bean in the scope initBeanDefinition(def); final BeanData beanData = new BeanData(this, def); registerBeanAndWireAndInjectParamsAndInvokeInitMethods(beanData); bean = beanData.bean(); } return (T) bean; }
/** * Creates and wires a bean within the container and optionally invokes init methods. However, bean is * <b>not</b> registered. */ @SuppressWarnings({"unchecked"}) public <E> E createBean(final Class<E> type, final WiringMode wiringMode) { final WiringMode finalWiringMode = petiteConfig.resolveWiringMode(wiringMode); final BeanDefinition def = externalsCache.get( type, () -> { final BeanDefinition beanDefinition = createBeandDefinitionForExternalBeans(type, finalWiringMode); initBeanDefinition(beanDefinition); return beanDefinition; }); final BeanData<E> beanData = new BeanData(this, def); registerBeanAndWireAndInjectParamsAndInvokeInitMethods(beanData); return beanData.bean(); }