test_class.declarator: context
test_class.modifier: @Autowired
      private
test_class.original_string: @Autowired
      private ConfigurableApplicationContext context;
test_class.type: ConfigurableApplicationContext
test_class.var_name: context
test_class.file: dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/beans/factory/annotation/ReferenceAnnotationBeanPostProcessorTest.java
test_class.identifier: ReferenceAnnotationBeanPostProcessorTest
test_case.body: @Test
      public void testGetInjectedMethodReferenceBeanMap() {
  
          ReferenceAnnotationBeanPostProcessor beanPostProcessor = context.getBean(BEAN_NAME,
                  ReferenceAnnotationBeanPostProcessor.class);
  
  
          Map<InjectionMetadata.InjectedElement, ReferenceBean<?>> referenceBeanMap =
                  beanPostProcessor.getInjectedMethodReferenceBeanMap();
  
          Assert.assertEquals(2, referenceBeanMap.size());
  
          for (Map.Entry<InjectionMetadata.InjectedElement, ReferenceBean<?>> entry : referenceBeanMap.entrySet()) {
  
              InjectionMetadata.InjectedElement injectedElement = entry.getKey();
  
              Assert.assertEquals("com.alibaba.dubbo.config.spring.beans.factory.annotation.AnnotationInjectedBeanPostProcessor$AnnotatedMethodElement",
                      injectedElement.getClass().getName());
  
              ReferenceBean<?> referenceBean = entry.getValue();
  
              Assert.assertEquals("2.5.7", referenceBean.getVersion());
              Assert.assertEquals("dubbo://127.0.0.1:12345", referenceBean.getUrl());
  
          }
  
      }
test_case.class_method_signature: ReferenceAnnotationBeanPostProcessorTest.testGetInjectedMethodReferenceBeanMap()
test_case.full_signature: @Test public void testGetInjectedMethodReferenceBeanMap()
test_case.identifier: testGetInjectedMethodReferenceBeanMap
test_case.invocations: getBean getInjectedMethodReferenceBeanMap assertEquals size entrySet getKey assertEquals getName getClass getValue assertEquals getVersion assertEquals getUrl
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetInjectedMethodReferenceBeanMap()
focal_class.declarator: BEAN_NAME = "referenceAnnotationBeanPostProcessor"
focal_class.modifier: public static final
focal_class.original_string: public static final String BEAN_NAME = "referenceAnnotationBeanPostProcessor";
focal_class.type: String
focal_class.var_name: BEAN_NAME
focal_class.declarator: CACHE_SIZE = Integer.getInteger(BEAN_NAME + ".cache.size", 32)
focal_class.modifier: private static final
focal_class.original_string: private static final int CACHE_SIZE = Integer.getInteger(BEAN_NAME + ".cache.size", 32);
focal_class.type: int
focal_class.var_name: CACHE_SIZE
focal_class.declarator: referenceBeanCache =
              new ConcurrentHashMap<String, ReferenceBean<?>>(CACHE_SIZE)
focal_class.modifier: private final
focal_class.original_string: private final ConcurrentMap<String, ReferenceBean<?>> referenceBeanCache =
              new ConcurrentHashMap<String, ReferenceBean<?>>(CACHE_SIZE);
focal_class.type: ConcurrentMap<String, ReferenceBean<?>>
focal_class.var_name: referenceBeanCache
focal_class.declarator: localReferenceBeanInvocationHandlerCache =
              new ConcurrentHashMap<String, ReferenceBeanInvocationHandler>(CACHE_SIZE)
focal_class.modifier: private final
focal_class.original_string: private final ConcurrentHashMap<String, ReferenceBeanInvocationHandler> localReferenceBeanInvocationHandlerCache =
              new ConcurrentHashMap<String, ReferenceBeanInvocationHandler>(CACHE_SIZE);
focal_class.type: ConcurrentHashMap<String, ReferenceBeanInvocationHandler>
focal_class.var_name: localReferenceBeanInvocationHandlerCache
focal_class.declarator: injectedFieldReferenceBeanCache =
              new ConcurrentHashMap<InjectionMetadata.InjectedElement, ReferenceBean<?>>(CACHE_SIZE)
focal_class.modifier: private final
focal_class.original_string: private final ConcurrentMap<InjectionMetadata.InjectedElement, ReferenceBean<?>> injectedFieldReferenceBeanCache =
              new ConcurrentHashMap<InjectionMetadata.InjectedElement, ReferenceBean<?>>(CACHE_SIZE);
focal_class.type: ConcurrentMap<InjectionMetadata.InjectedElement, ReferenceBean<?>>
focal_class.var_name: injectedFieldReferenceBeanCache
focal_class.declarator: injectedMethodReferenceBeanCache =
              new ConcurrentHashMap<InjectionMetadata.InjectedElement, ReferenceBean<?>>(CACHE_SIZE)
focal_class.modifier: private final
focal_class.original_string: private final ConcurrentMap<InjectionMetadata.InjectedElement, ReferenceBean<?>> injectedMethodReferenceBeanCache =
              new ConcurrentHashMap<InjectionMetadata.InjectedElement, ReferenceBean<?>>(CACHE_SIZE);
focal_class.type: ConcurrentMap<InjectionMetadata.InjectedElement, ReferenceBean<?>>
focal_class.var_name: injectedMethodReferenceBeanCache
focal_class.declarator: applicationContext
focal_class.modifier: private
focal_class.original_string: private ApplicationContext applicationContext;
focal_class.type: ApplicationContext
focal_class.var_name: applicationContext
focal_class.file: dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/beans/factory/annotation/ReferenceAnnotationBeanPostProcessor.java
focal_class.identifier: ReferenceAnnotationBeanPostProcessor
focal_class.interfaces: implements ApplicationContextAware, ApplicationListener
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.getReferenceBeans()
focal_class.full_signature: public Collection<ReferenceBean<?>> getReferenceBeans()
focal_class.identifier: getReferenceBeans
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Collection<ReferenceBean<?>>
focal_class.signature: Collection<ReferenceBean<?>> getReferenceBeans()
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.getInjectedFieldReferenceBeanMap()
focal_class.full_signature: public Map<InjectionMetadata.InjectedElement, ReferenceBean<?>> getInjectedFieldReferenceBeanMap()
focal_class.identifier: getInjectedFieldReferenceBeanMap
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Map<InjectionMetadata.InjectedElement, ReferenceBean<?>>
focal_class.signature: Map<InjectionMetadata.InjectedElement, ReferenceBean<?>> getInjectedFieldReferenceBeanMap()
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.getInjectedMethodReferenceBeanMap()
focal_class.full_signature: public Map<InjectionMetadata.InjectedElement, ReferenceBean<?>> getInjectedMethodReferenceBeanMap()
focal_class.identifier: getInjectedMethodReferenceBeanMap
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Map<InjectionMetadata.InjectedElement, ReferenceBean<?>>
focal_class.signature: Map<InjectionMetadata.InjectedElement, ReferenceBean<?>> getInjectedMethodReferenceBeanMap()
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.doGetInjectedBean(Reference reference, Object bean, String beanName, Class<?> injectedType,
                                         InjectionMetadata.InjectedElement injectedElement)
focal_class.full_signature: @Override protected Object doGetInjectedBean(Reference reference, Object bean, String beanName, Class<?> injectedType,
                                         InjectionMetadata.InjectedElement injectedElement)
focal_class.identifier: doGetInjectedBean
focal_class.modifiers: @Override protected
focal_class.parameters: (Reference reference, Object bean, String beanName, Class<?> injectedType,
                                         InjectionMetadata.InjectedElement injectedElement)
focal_class.return: Object
focal_class.signature: Object doGetInjectedBean(Reference reference, Object bean, String beanName, Class<?> injectedType,
                                         InjectionMetadata.InjectedElement injectedElement)
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.buildProxy(String referencedBeanName, ReferenceBean referenceBean, Class<?> injectedType)
focal_class.full_signature: private Object buildProxy(String referencedBeanName, ReferenceBean referenceBean, Class<?> injectedType)
focal_class.identifier: buildProxy
focal_class.modifiers: private
focal_class.parameters: (String referencedBeanName, ReferenceBean referenceBean, Class<?> injectedType)
focal_class.return: Object
focal_class.signature: Object buildProxy(String referencedBeanName, ReferenceBean referenceBean, Class<?> injectedType)
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.buildInvocationHandler(String referencedBeanName, ReferenceBean referenceBean)
focal_class.full_signature: private InvocationHandler buildInvocationHandler(String referencedBeanName, ReferenceBean referenceBean)
focal_class.identifier: buildInvocationHandler
focal_class.modifiers: private
focal_class.parameters: (String referencedBeanName, ReferenceBean referenceBean)
focal_class.return: InvocationHandler
focal_class.signature: InvocationHandler buildInvocationHandler(String referencedBeanName, ReferenceBean referenceBean)
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.buildInjectedObjectCacheKey(Reference reference, Object bean, String beanName,
                                                   Class<?> injectedType, InjectionMetadata.InjectedElement injectedElement)
focal_class.full_signature: @Override protected String buildInjectedObjectCacheKey(Reference reference, Object bean, String beanName,
                                                   Class<?> injectedType, InjectionMetadata.InjectedElement injectedElement)
focal_class.identifier: buildInjectedObjectCacheKey
focal_class.modifiers: @Override protected
focal_class.parameters: (Reference reference, Object bean, String beanName,
                                                   Class<?> injectedType, InjectionMetadata.InjectedElement injectedElement)
focal_class.return: String
focal_class.signature: String buildInjectedObjectCacheKey(Reference reference, Object bean, String beanName,
                                                   Class<?> injectedType, InjectionMetadata.InjectedElement injectedElement)
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.buildReferencedBeanName(Reference reference, Class<?> injectedType)
focal_class.full_signature: private String buildReferencedBeanName(Reference reference, Class<?> injectedType)
focal_class.identifier: buildReferencedBeanName
focal_class.modifiers: private
focal_class.parameters: (Reference reference, Class<?> injectedType)
focal_class.return: String
focal_class.signature: String buildReferencedBeanName(Reference reference, Class<?> injectedType)
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.buildReferenceBeanIfAbsent(String referencedBeanName, Reference reference,
                                                       Class<?> referencedType, ClassLoader classLoader)
focal_class.full_signature: private ReferenceBean buildReferenceBeanIfAbsent(String referencedBeanName, Reference reference,
                                                       Class<?> referencedType, ClassLoader classLoader)
focal_class.identifier: buildReferenceBeanIfAbsent
focal_class.modifiers: private
focal_class.parameters: (String referencedBeanName, Reference reference,
                                                       Class<?> referencedType, ClassLoader classLoader)
focal_class.return: ReferenceBean
focal_class.signature: ReferenceBean buildReferenceBeanIfAbsent(String referencedBeanName, Reference reference,
                                                       Class<?> referencedType, ClassLoader classLoader)
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.cacheInjectedReferenceBean(ReferenceBean referenceBean,
                                              InjectionMetadata.InjectedElement injectedElement)
focal_class.full_signature: private void cacheInjectedReferenceBean(ReferenceBean referenceBean,
                                              InjectionMetadata.InjectedElement injectedElement)
focal_class.identifier: cacheInjectedReferenceBean
focal_class.modifiers: private
focal_class.parameters: (ReferenceBean referenceBean,
                                              InjectionMetadata.InjectedElement injectedElement)
focal_class.return: void
focal_class.signature: void cacheInjectedReferenceBean(ReferenceBean referenceBean,
                                              InjectionMetadata.InjectedElement injectedElement)
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.setApplicationContext(ApplicationContext applicationContext)
focal_class.full_signature: @Override public void setApplicationContext(ApplicationContext applicationContext)
focal_class.identifier: setApplicationContext
focal_class.modifiers: @Override public
focal_class.parameters: (ApplicationContext applicationContext)
focal_class.return: void
focal_class.signature: void setApplicationContext(ApplicationContext applicationContext)
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.onApplicationEvent(ApplicationEvent event)
focal_class.full_signature: @Override public void onApplicationEvent(ApplicationEvent event)
focal_class.identifier: onApplicationEvent
focal_class.modifiers: @Override public
focal_class.parameters: (ApplicationEvent event)
focal_class.return: void
focal_class.signature: void onApplicationEvent(ApplicationEvent event)
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.onServiceBeanExportEvent(ServiceBeanExportedEvent event)
focal_class.full_signature: private void onServiceBeanExportEvent(ServiceBeanExportedEvent event)
focal_class.identifier: onServiceBeanExportEvent
focal_class.modifiers: private
focal_class.parameters: (ServiceBeanExportedEvent event)
focal_class.return: void
focal_class.signature: void onServiceBeanExportEvent(ServiceBeanExportedEvent event)
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.initReferenceBeanInvocationHandler(ServiceBean serviceBean)
focal_class.full_signature: private void initReferenceBeanInvocationHandler(ServiceBean serviceBean)
focal_class.identifier: initReferenceBeanInvocationHandler
focal_class.modifiers: private
focal_class.parameters: (ServiceBean serviceBean)
focal_class.return: void
focal_class.signature: void initReferenceBeanInvocationHandler(ServiceBean serviceBean)
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.onContextRefreshedEvent(ContextRefreshedEvent event)
focal_class.full_signature: private void onContextRefreshedEvent(ContextRefreshedEvent event)
focal_class.identifier: onContextRefreshedEvent
focal_class.modifiers: private
focal_class.parameters: (ContextRefreshedEvent event)
focal_class.return: void
focal_class.signature: void onContextRefreshedEvent(ContextRefreshedEvent event)
focal_class.class_method_signature: ReferenceAnnotationBeanPostProcessor.destroy()
focal_class.full_signature: @Override public void destroy()
focal_class.identifier: destroy
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void destroy()
focal_class.superclass: extends AnnotationInjectedBeanPostProcessor<Reference>
focal_method.body: public Map<InjectionMetadata.InjectedElement, ReferenceBean<?>> getInjectedMethodReferenceBeanMap() {
          return Collections.unmodifiableMap(injectedMethodReferenceBeanCache);
      }
focal_method.class_method_signature: ReferenceAnnotationBeanPostProcessor.getInjectedMethodReferenceBeanMap()
focal_method.full_signature: public Map<InjectionMetadata.InjectedElement, ReferenceBean<?>> getInjectedMethodReferenceBeanMap()
focal_method.identifier: getInjectedMethodReferenceBeanMap
focal_method.invocations: unmodifiableMap
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: Map<InjectionMetadata.InjectedElement, ReferenceBean<?>>
focal_method.signature: Map<InjectionMetadata.InjectedElement, ReferenceBean<?>> getInjectedMethodReferenceBeanMap()