test_class.declarator: TEST_FIELD = new Object()
test_class.modifier: @Reference(
              interfaceClass = CharSequence.class,
              interfaceName = "java.lang.CharSequence",
              version = "1.0.0", group = "TEST_GROUP", url = "dubbo://localhost:12345",
              client = "client", generic = true, injvm = true,
              check = false, init = false, lazy = true,
              stubevent = true, reconnect = "reconnect", sticky = true,
              proxy = "javassist", stub = "java.lang.CharSequence", cluster = "failover",
              connections = 3, callbacks = 1, onconnect = "onconnect", ondisconnect = "ondisconnect",
              owner = "owner", layer = "layer", retries = 1,
              loadbalance = "random", async = true, actives = 3,
              sent = true, mock = "mock", validation = "validation",
              timeout = 3, cache = "cache", filter = {"echo", "generic", "accesslog"},
              listener = {"deprecated"}, parameters = {"n1=v1  ", "n2 = v2 ", "  n3 =   v3  "},
              application = "application",
              module = "module", consumer = "consumer", monitor = "monitor", registry = {"registry"}
      )
      private static final
test_class.original_string: @Reference(
              interfaceClass = CharSequence.class,
              interfaceName = "java.lang.CharSequence",
              version = "1.0.0", group = "TEST_GROUP", url = "dubbo://localhost:12345",
              client = "client", generic = true, injvm = true,
              check = false, init = false, lazy = true,
              stubevent = true, reconnect = "reconnect", sticky = true,
              proxy = "javassist", stub = "java.lang.CharSequence", cluster = "failover",
              connections = 3, callbacks = 1, onconnect = "onconnect", ondisconnect = "ondisconnect",
              owner = "owner", layer = "layer", retries = 1,
              loadbalance = "random", async = true, actives = 3,
              sent = true, mock = "mock", validation = "validation",
              timeout = 3, cache = "cache", filter = {"echo", "generic", "accesslog"},
              listener = {"deprecated"}, parameters = {"n1=v1  ", "n2 = v2 ", "  n3 =   v3  "},
              application = "application",
              module = "module", consumer = "consumer", monitor = "monitor", registry = {"registry"}
      )
      private static final Object TEST_FIELD = new Object();
test_class.type: Object
test_class.var_name: TEST_FIELD
test_class.declarator: context
test_class.modifier: @Autowired
      private
test_class.original_string: @Autowired
      private ApplicationContext context;
test_class.type: ApplicationContext
test_class.var_name: context
test_class.file: dubbo-config/dubbo-config-spring/src/test/java/com/alibaba/dubbo/config/spring/beans/factory/annotation/ReferenceBeanBuilderTest.java
test_class.identifier: ReferenceBeanBuilderTest
test_case.body: @Test
      public void testBuild() throws Exception {
          Reference reference = findAnnotation(findField(getClass(), "TEST_FIELD"), Reference.class);
          ReferenceBeanBuilder beanBuilder = ReferenceBeanBuilder.create(reference, context.getClassLoader(), context);
          beanBuilder.interfaceClass(CharSequence.class);
          ReferenceBean referenceBean = beanBuilder.build();
          Assert.assertEquals(CharSequence.class, referenceBean.getInterfaceClass());
          Assert.assertEquals("1.0.0", referenceBean.getVersion());
          Assert.assertEquals("TEST_GROUP", referenceBean.getGroup());
          Assert.assertEquals("dubbo://localhost:12345", referenceBean.getUrl());
          Assert.assertEquals("client", referenceBean.getClient());
          Assert.assertEquals(true, referenceBean.isGeneric());
          Assert.assertEquals(true, referenceBean.isInjvm());
          Assert.assertEquals(false, referenceBean.isCheck());
          Assert.assertEquals(null, referenceBean.isInit());
          Assert.assertEquals(true, referenceBean.getLazy());
          Assert.assertEquals(true, referenceBean.getStubevent());
          Assert.assertEquals("reconnect", referenceBean.getReconnect());
          Assert.assertEquals(true, referenceBean.getSticky());
          Assert.assertEquals("javassist", referenceBean.getProxy());
          Assert.assertEquals("java.lang.CharSequence", referenceBean.getStub());
          Assert.assertEquals("failover", referenceBean.getCluster());
          Assert.assertEquals(Integer.valueOf(3), referenceBean.getConnections());
          Assert.assertEquals(Integer.valueOf(1), referenceBean.getCallbacks());
          Assert.assertEquals("onconnect", referenceBean.getOnconnect());
          Assert.assertEquals("ondisconnect", referenceBean.getOndisconnect());
          Assert.assertEquals("owner", referenceBean.getOwner());
          Assert.assertEquals("layer", referenceBean.getLayer());
          Assert.assertEquals(Integer.valueOf(1), referenceBean.getRetries());
          Assert.assertEquals("random", referenceBean.getLoadbalance());
          Assert.assertEquals(true, referenceBean.isAsync());
          Assert.assertEquals(Integer.valueOf(3), referenceBean.getActives());
          Assert.assertEquals(true, referenceBean.getSent());
          Assert.assertEquals("mock", referenceBean.getMock());
          Assert.assertEquals("validation", referenceBean.getValidation());
          Assert.assertEquals(Integer.valueOf(3), referenceBean.getTimeout());
          Assert.assertEquals("cache", referenceBean.getCache());
          Assert.assertEquals("echo,generic,accesslog", referenceBean.getFilter());
          Assert.assertEquals("deprecated", referenceBean.getListener());
  
          // parameters
          Map<String, String> parameters = new HashMap<String, String>();
          parameters.put("n1", "v1");
          parameters.put("n2", "v2");
          parameters.put("n3", "v3");
          Assert.assertEquals(parameters, referenceBean.getParameters());
  
          // Asserts Null fields
          Assert.assertNull(referenceBean.getApplication());
          Assert.assertNull(referenceBean.getModule());
          Assert.assertNull(referenceBean.getConsumer());
          Assert.assertNull(referenceBean.getMonitor());
          Assert.assertEquals(Collections.emptyList(), referenceBean.getRegistries());
      }
test_case.class_method_signature: ReferenceBeanBuilderTest.testBuild()
test_case.full_signature: @Test public void testBuild()
test_case.identifier: testBuild
test_case.invocations: findAnnotation findField getClass create getClassLoader interfaceClass build assertEquals getInterfaceClass assertEquals getVersion assertEquals getGroup assertEquals getUrl assertEquals getClient assertEquals isGeneric assertEquals isInjvm assertEquals isCheck assertEquals isInit assertEquals getLazy assertEquals getStubevent assertEquals getReconnect assertEquals getSticky assertEquals getProxy assertEquals getStub assertEquals getCluster assertEquals valueOf getConnections assertEquals valueOf getCallbacks assertEquals getOnconnect assertEquals getOndisconnect assertEquals getOwner assertEquals getLayer assertEquals valueOf getRetries assertEquals getLoadbalance assertEquals isAsync assertEquals valueOf getActives assertEquals getSent assertEquals getMock assertEquals getValidation assertEquals valueOf getTimeout assertEquals getCache assertEquals getFilter assertEquals getListener put put put assertEquals getParameters assertNull getApplication assertNull getModule assertNull getConsumer assertNull getMonitor assertEquals emptyList getRegistries
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testBuild()
focal_class.declarator: IGNORE_FIELD_NAMES = of("application", "module", "consumer", "monitor", "registry")
focal_class.modifier: static final
focal_class.original_string: static final String[] IGNORE_FIELD_NAMES = of("application", "module", "consumer", "monitor", "registry");
focal_class.type: String[]
focal_class.var_name: IGNORE_FIELD_NAMES
focal_class.file: dubbo-config/dubbo-config-spring/src/main/java/com/alibaba/dubbo/config/spring/beans/factory/annotation/ReferenceBeanBuilder.java
focal_class.identifier: ReferenceBeanBuilder
focal_class.class_method_signature: ReferenceBeanBuilder.ReferenceBeanBuilder(Reference annotation, ClassLoader classLoader, ApplicationContext applicationContext)
focal_class.full_signature: private  ReferenceBeanBuilder(Reference annotation, ClassLoader classLoader, ApplicationContext applicationContext)
focal_class.identifier: ReferenceBeanBuilder
focal_class.modifiers: private
focal_class.parameters: (Reference annotation, ClassLoader classLoader, ApplicationContext applicationContext)
focal_class.signature:  ReferenceBeanBuilder(Reference annotation, ClassLoader classLoader, ApplicationContext applicationContext)
focal_class.class_method_signature: ReferenceBeanBuilder.configureInterface(Reference reference, ReferenceBean referenceBean)
focal_class.full_signature: private void configureInterface(Reference reference, ReferenceBean referenceBean)
focal_class.identifier: configureInterface
focal_class.modifiers: private
focal_class.parameters: (Reference reference, ReferenceBean referenceBean)
focal_class.return: void
focal_class.signature: void configureInterface(Reference reference, ReferenceBean referenceBean)
focal_class.class_method_signature: ReferenceBeanBuilder.configureConsumerConfig(Reference reference, ReferenceBean<?> referenceBean)
focal_class.full_signature: private void configureConsumerConfig(Reference reference, ReferenceBean<?> referenceBean)
focal_class.identifier: configureConsumerConfig
focal_class.modifiers: private
focal_class.parameters: (Reference reference, ReferenceBean<?> referenceBean)
focal_class.return: void
focal_class.signature: void configureConsumerConfig(Reference reference, ReferenceBean<?> referenceBean)
focal_class.class_method_signature: ReferenceBeanBuilder.configureMethodConfig(Reference reference, ReferenceBean<?> referenceBean)
focal_class.full_signature:  void configureMethodConfig(Reference reference, ReferenceBean<?> referenceBean)
focal_class.identifier: configureMethodConfig
focal_class.parameters: (Reference reference, ReferenceBean<?> referenceBean)
focal_class.return: void
focal_class.signature: void configureMethodConfig(Reference reference, ReferenceBean<?> referenceBean)
focal_class.class_method_signature: ReferenceBeanBuilder.doBuild()
focal_class.full_signature: @Override protected ReferenceBean doBuild()
focal_class.identifier: doBuild
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: ReferenceBean
focal_class.signature: ReferenceBean doBuild()
focal_class.class_method_signature: ReferenceBeanBuilder.preConfigureBean(Reference reference, ReferenceBean referenceBean)
focal_class.full_signature: @Override protected void preConfigureBean(Reference reference, ReferenceBean referenceBean)
focal_class.identifier: preConfigureBean
focal_class.modifiers: @Override protected
focal_class.parameters: (Reference reference, ReferenceBean referenceBean)
focal_class.return: void
focal_class.signature: void preConfigureBean(Reference reference, ReferenceBean referenceBean)
focal_class.class_method_signature: ReferenceBeanBuilder.resolveModuleConfigBeanName(Reference annotation)
focal_class.full_signature: @Override protected String resolveModuleConfigBeanName(Reference annotation)
focal_class.identifier: resolveModuleConfigBeanName
focal_class.modifiers: @Override protected
focal_class.parameters: (Reference annotation)
focal_class.return: String
focal_class.signature: String resolveModuleConfigBeanName(Reference annotation)
focal_class.class_method_signature: ReferenceBeanBuilder.resolveApplicationConfigBeanName(Reference annotation)
focal_class.full_signature: @Override protected String resolveApplicationConfigBeanName(Reference annotation)
focal_class.identifier: resolveApplicationConfigBeanName
focal_class.modifiers: @Override protected
focal_class.parameters: (Reference annotation)
focal_class.return: String
focal_class.signature: String resolveApplicationConfigBeanName(Reference annotation)
focal_class.class_method_signature: ReferenceBeanBuilder.resolveRegistryConfigBeanNames(Reference annotation)
focal_class.full_signature: @Override protected String[] resolveRegistryConfigBeanNames(Reference annotation)
focal_class.identifier: resolveRegistryConfigBeanNames
focal_class.modifiers: @Override protected
focal_class.parameters: (Reference annotation)
focal_class.return: String[]
focal_class.signature: String[] resolveRegistryConfigBeanNames(Reference annotation)
focal_class.class_method_signature: ReferenceBeanBuilder.resolveMonitorConfigBeanName(Reference annotation)
focal_class.full_signature: @Override protected String resolveMonitorConfigBeanName(Reference annotation)
focal_class.identifier: resolveMonitorConfigBeanName
focal_class.modifiers: @Override protected
focal_class.parameters: (Reference annotation)
focal_class.return: String
focal_class.signature: String resolveMonitorConfigBeanName(Reference annotation)
focal_class.class_method_signature: ReferenceBeanBuilder.postConfigureBean(Reference annotation, ReferenceBean bean)
focal_class.full_signature: @Override protected void postConfigureBean(Reference annotation, ReferenceBean bean)
focal_class.identifier: postConfigureBean
focal_class.modifiers: @Override protected
focal_class.parameters: (Reference annotation, ReferenceBean bean)
focal_class.return: void
focal_class.signature: void postConfigureBean(Reference annotation, ReferenceBean bean)
focal_class.class_method_signature: ReferenceBeanBuilder.create(Reference annotation, ClassLoader classLoader,
                                                ApplicationContext applicationContext)
focal_class.full_signature: public static ReferenceBeanBuilder create(Reference annotation, ClassLoader classLoader,
                                                ApplicationContext applicationContext)
focal_class.identifier: create
focal_class.modifiers: public static
focal_class.parameters: (Reference annotation, ClassLoader classLoader,
                                                ApplicationContext applicationContext)
focal_class.return: ReferenceBeanBuilder
focal_class.signature: ReferenceBeanBuilder create(Reference annotation, ClassLoader classLoader,
                                                ApplicationContext applicationContext)
focal_class.superclass: extends AbstractAnnotationConfigBeanBuilder<Reference, ReferenceBean>
focal_method.body: public static ReferenceBeanBuilder create(Reference annotation, ClassLoader classLoader,
                                                ApplicationContext applicationContext) {
          return new ReferenceBeanBuilder(annotation, classLoader, applicationContext);
      }
focal_method.class_method_signature: ReferenceBeanBuilder.create(Reference annotation, ClassLoader classLoader,
                                                ApplicationContext applicationContext)
focal_method.full_signature: public static ReferenceBeanBuilder create(Reference annotation, ClassLoader classLoader,
                                                ApplicationContext applicationContext)
focal_method.identifier: create
focal_method.modifiers: public static
focal_method.parameters: (Reference annotation, ClassLoader classLoader,
                                                ApplicationContext applicationContext)
focal_method.return: ReferenceBeanBuilder
focal_method.signature: ReferenceBeanBuilder create(Reference annotation, ClassLoader classLoader,
                                                ApplicationContext applicationContext)