class org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder extends org.apache.dubbo.config.spring.beans.factory.'annotation'.AnnotatedInterfaceConfigBeanBuilder
{
static final java.lang.String[] IGNORE_FIELD_NAMES;
private void <init>(org.springframework.core.'annotation'.AnnotationAttributes, org.springframework.context.ApplicationContext)
{
org.springframework.core.'annotation'.AnnotationAttributes v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder v;
org.springframework.context.ApplicationContext v;
v := @this: org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder;
v := @parameter: org.springframework.core.'annotation'.AnnotationAttributes;
v := @parameter: org.springframework.context.ApplicationContext;
specialinvoke v.<org.apache.dubbo.config.spring.beans.factory.'annotation'.AnnotatedInterfaceConfigBeanBuilder: void <init>(org.springframework.core.'annotation'.AnnotationAttributes,org.springframework.context.ApplicationContext)>(v, v);
return;
}
private void configureInterface(org.springframework.core.'annotation'.AnnotationAttributes, org.apache.dubbo.config.spring.ReferenceBean)
{
org.apache.dubbo.config.spring.ReferenceBean v;
java.lang.Class v, v;
java.lang.Object v, v;
org.springframework.core.'annotation'.AnnotationAttributes v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder v;
boolean v, v;
v := @this: org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder;
v := @parameter: org.springframework.core.'annotation'.AnnotationAttributes;
v := @parameter: org.apache.dubbo.config.spring.ReferenceBean;
v = staticinvoke <com.alibaba.spring.util.AnnotationUtils: java.lang.Object getAttribute(java.util.Map,java.lang.String)>(v, "generic");
if v == null goto label;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = staticinvoke <com.alibaba.spring.util.AnnotationUtils: java.lang.Object getAttribute(java.util.Map,java.lang.String)>(v, "interfaceName");
staticinvoke <org.springframework.util.Assert: void hasText(java.lang.String,java.lang.String)>(v, "@Reference interfaceName() must be present when reference a generic service!");
virtualinvoke v.<org.apache.dubbo.config.spring.ReferenceBean: void setInterface(java.lang.String)>(v);
return;
label:
v = v.<org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder: java.lang.Class interfaceClass>;
v = staticinvoke <org.apache.dubbo.config.spring.util.DubboAnnotationUtils: java.lang.Class resolveServiceInterfaceClass(org.springframework.core.'annotation'.AnnotationAttributes,java.lang.Class)>(v, v);
v = virtualinvoke v.<java.lang.Class: boolean isInterface()>();
staticinvoke <org.springframework.util.Assert: void isTrue(boolean,java.lang.String)>(v, "The class of field or method that was annotated @Reference is not an interface!");
virtualinvoke v.<org.apache.dubbo.config.spring.ReferenceBean: void setInterface(java.lang.Class)>(v);
return;
}
private void configureConsumerConfig(org.springframework.core.'annotation'.AnnotationAttributes, org.apache.dubbo.config.spring.ReferenceBean)
{
java.lang.Object v, v;
org.springframework.core.'annotation'.AnnotationAttributes v;
org.apache.dubbo.config.spring.ReferenceBean v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder v;
org.springframework.context.ApplicationContext v;
v := @this: org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder;
v := @parameter: org.springframework.core.'annotation'.AnnotationAttributes;
v := @parameter: org.apache.dubbo.config.spring.ReferenceBean;
v = staticinvoke <com.alibaba.spring.util.AnnotationUtils: java.lang.Object getAttribute(java.util.Map,java.lang.String)>(v, "consumer");
v = v.<org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder: org.springframework.context.ApplicationContext applicationContext>;
v = staticinvoke <org.apache.dubbo.config.spring.util.DubboBeanUtils: java.lang.Object getOptionalBean(org.springframework.beans.factory.ListableBeanFactory,java.lang.String,java.lang.Class)>(v, v, class "Lorg/apache/dubbo/config/ConsumerConfig;");
virtualinvoke v.<org.apache.dubbo.config.spring.ReferenceBean: void setConsumer(org.apache.dubbo.config.ConsumerConfig)>(v);
return;
}
void configureMethodConfig(org.springframework.core.'annotation'.AnnotationAttributes, org.apache.dubbo.config.spring.ReferenceBean)
{
java.util.List v;
java.lang.Object v;
org.springframework.core.'annotation'.AnnotationAttributes v;
org.apache.dubbo.config.spring.ReferenceBean v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder v;
boolean v;
v := @this: org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder;
v := @parameter: org.springframework.core.'annotation'.AnnotationAttributes;
v := @parameter: org.apache.dubbo.config.spring.ReferenceBean;
v = virtualinvoke v.<org.springframework.core.'annotation'.AnnotationAttributes: java.lang.Object get(java.lang.Object)>("methods");
v = staticinvoke <org.apache.dubbo.config.MethodConfig: java.util.List constructMethodConfig(org.apache.dubbo.config.'annotation'.Method[])>(v);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.dubbo.config.spring.ReferenceBean: void setMethods(java.util.List)>(v);
label:
return;
}
protected org.apache.dubbo.config.spring.ReferenceBean doBuild()
{
org.apache.dubbo.config.spring.ReferenceBean v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder v;
v := @this: org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder;
v = new org.apache.dubbo.config.spring.ReferenceBean;
specialinvoke v.<org.apache.dubbo.config.spring.ReferenceBean: void <init>()>();
return v;
}
protected void preConfigureBean(org.springframework.core.'annotation'.AnnotationAttributes, org.apache.dubbo.config.spring.ReferenceBean)
{
org.apache.dubbo.config.spring.beans.factory.'annotation'.AnnotationPropertyValuesAdapter v;
org.springframework.validation.DataBinder v;
java.lang.String[] v;
org.apache.dubbo.config.spring.ReferenceBean v;
org.springframework.context.ApplicationContext v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder$1 v;
org.springframework.core.env.Environment v;
org.springframework.beans.propertyeditors.StringTrimmerEditor v, v;
java.lang.Class v;
org.springframework.core.'annotation'.AnnotationAttributes v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder v;
v := @this: org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder;
v := @parameter: org.springframework.core.'annotation'.AnnotationAttributes;
v := @parameter: org.apache.dubbo.config.spring.ReferenceBean;
v = v.<org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder: java.lang.Class interfaceClass>;
staticinvoke <org.springframework.util.Assert: void notNull(java.lang.Object,java.lang.String)>(v, "The interface class must set first!");
v = new org.springframework.validation.DataBinder;
specialinvoke v.<org.springframework.validation.DataBinder: void <init>(java.lang.Object)>(v);
v = new org.springframework.beans.propertyeditors.StringTrimmerEditor;
specialinvoke v.<org.springframework.beans.propertyeditors.StringTrimmerEditor: void <init>(boolean)>(1);
virtualinvoke v.<org.springframework.validation.DataBinder: void registerCustomEditor(java.lang.Class,java.lang.String,java.beans.PropertyEditor)>(class "Ljava/lang/String;", "filter", v);
v = new org.springframework.beans.propertyeditors.StringTrimmerEditor;
specialinvoke v.<org.springframework.beans.propertyeditors.StringTrimmerEditor: void <init>(boolean)>(1);
virtualinvoke v.<org.springframework.validation.DataBinder: void registerCustomEditor(java.lang.Class,java.lang.String,java.beans.PropertyEditor)>(class "Ljava/lang/String;", "listener", v);
v = new org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder$1;
specialinvoke v.<org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder$1: void <init>(org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder)>(v);
virtualinvoke v.<org.springframework.validation.DataBinder: void registerCustomEditor(java.lang.Class,java.lang.String,java.beans.PropertyEditor)>(class "Ljava/util/Map;", "parameters", v);
v = new org.apache.dubbo.config.spring.beans.factory.'annotation'.AnnotationPropertyValuesAdapter;
v = v.<org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder: org.springframework.context.ApplicationContext applicationContext>;
v = interfaceinvoke v.<org.springframework.context.ApplicationContext: org.springframework.core.env.Environment getEnvironment()>();
v = <org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder: java.lang.String[] IGNORE_FIELD_NAMES>;
specialinvoke v.<org.apache.dubbo.config.spring.beans.factory.'annotation'.AnnotationPropertyValuesAdapter: void <init>(java.util.Map,org.springframework.core.env.PropertyResolver,java.lang.String[])>(v, v, v);
virtualinvoke v.<org.springframework.validation.DataBinder: void bind(org.springframework.beans.PropertyValues)>(v);
return;
}
protected java.lang.String resolveModuleConfigBeanName(org.springframework.core.'annotation'.AnnotationAttributes)
{
java.lang.Object v;
org.springframework.core.'annotation'.AnnotationAttributes v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder v;
v := @this: org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder;
v := @parameter: org.springframework.core.'annotation'.AnnotationAttributes;
v = staticinvoke <com.alibaba.spring.util.AnnotationUtils: java.lang.Object getAttribute(java.util.Map,java.lang.String)>(v, "module");
return v;
}
protected java.lang.String resolveApplicationConfigBeanName(org.springframework.core.'annotation'.AnnotationAttributes)
{
java.lang.Object v;
org.springframework.core.'annotation'.AnnotationAttributes v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder v;
v := @this: org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder;
v := @parameter: org.springframework.core.'annotation'.AnnotationAttributes;
v = staticinvoke <com.alibaba.spring.util.AnnotationUtils: java.lang.Object getAttribute(java.util.Map,java.lang.String)>(v, "application");
return v;
}
protected java.lang.String[] resolveRegistryConfigBeanNames(org.springframework.core.'annotation'.AnnotationAttributes)
{
java.lang.Object v;
org.springframework.core.'annotation'.AnnotationAttributes v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder v;
v := @this: org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder;
v := @parameter: org.springframework.core.'annotation'.AnnotationAttributes;
v = staticinvoke <com.alibaba.spring.util.AnnotationUtils: java.lang.Object getAttribute(java.util.Map,java.lang.String)>(v, "registry");
return v;
}
protected java.lang.String resolveMonitorConfigBeanName(org.springframework.core.'annotation'.AnnotationAttributes)
{
java.lang.Object v;
org.springframework.core.'annotation'.AnnotationAttributes v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder v;
v := @this: org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder;
v := @parameter: org.springframework.core.'annotation'.AnnotationAttributes;
v = staticinvoke <com.alibaba.spring.util.AnnotationUtils: java.lang.Object getAttribute(java.util.Map,java.lang.String)>(v, "monitor");
return v;
}
protected void postConfigureBean(org.springframework.core.'annotation'.AnnotationAttributes, org.apache.dubbo.config.spring.ReferenceBean) throws java.lang.Exception
{
org.springframework.core.'annotation'.AnnotationAttributes v;
org.apache.dubbo.config.spring.ReferenceBean v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder v;
org.springframework.context.ApplicationContext v;
v := @this: org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder;
v := @parameter: org.springframework.core.'annotation'.AnnotationAttributes;
v := @parameter: org.apache.dubbo.config.spring.ReferenceBean;
v = v.<org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder: org.springframework.context.ApplicationContext applicationContext>;
virtualinvoke v.<org.apache.dubbo.config.spring.ReferenceBean: void setApplicationContext(org.springframework.context.ApplicationContext)>(v);
specialinvoke v.<org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder: void configureInterface(org.springframework.core.'annotation'.AnnotationAttributes,org.apache.dubbo.config.spring.ReferenceBean)>(v, v);
specialinvoke v.<org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder: void configureConsumerConfig(org.springframework.core.'annotation'.AnnotationAttributes,org.apache.dubbo.config.spring.ReferenceBean)>(v, v);
virtualinvoke v.<org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder: void configureMethodConfig(org.springframework.core.'annotation'.AnnotationAttributes,org.apache.dubbo.config.spring.ReferenceBean)>(v, v);
virtualinvoke v.<org.apache.dubbo.config.spring.ReferenceBean: void afterPropertiesSet()>();
return;
}
public static org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder create(org.apache.dubbo.config.'annotation'.Reference, java.lang.ClassLoader, org.springframework.context.ApplicationContext)
{
org.apache.dubbo.config.'annotation'.Reference v;
java.lang.String[] v;
org.springframework.context.ApplicationContext v;
org.springframework.core.env.Environment v;
java.util.Map v;
org.springframework.core.'annotation'.AnnotationAttributes v;
java.lang.ClassLoader v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder v;
v := @parameter: org.apache.dubbo.config.'annotation'.Reference;
v := @parameter: java.lang.ClassLoader;
v := @parameter: org.springframework.context.ApplicationContext;
v = interfaceinvoke v.<org.springframework.context.ApplicationContext: org.springframework.core.env.Environment getEnvironment()>();
v = newarray (java.lang.String)[0];
v = staticinvoke <com.alibaba.spring.util.AnnotationUtils: java.util.Map getAttributes(java.lang.'annotation'.Annotation,org.springframework.core.env.PropertyResolver,boolean,java.lang.String[])>(v, v, 1, v);
v = staticinvoke <org.springframework.core.'annotation'.AnnotationAttributes: org.springframework.core.'annotation'.AnnotationAttributes fromMap(java.util.Map)>(v);
v = staticinvoke <org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder: org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder create(org.springframework.core.'annotation'.AnnotationAttributes,org.springframework.context.ApplicationContext)>(v, v);
return v;
}
public static org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder create(org.springframework.core.'annotation'.AnnotationAttributes, org.springframework.context.ApplicationContext)
{
org.springframework.core.'annotation'.AnnotationAttributes v;
org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder v;
org.springframework.context.ApplicationContext v;
v := @parameter: org.springframework.core.'annotation'.AnnotationAttributes;
v := @parameter: org.springframework.context.ApplicationContext;
v = new org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder;
specialinvoke v.<org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder: void <init>(org.springframework.core.'annotation'.AnnotationAttributes,org.springframework.context.ApplicationContext)>(v, v);
return v;
}
static void <clinit>()
{
java.lang.String[] v;
java.lang.Object[] v;
v = newarray (java.lang.String)[5];
v[0] = "application";
v[1] = "module";
v[2] = "consumer";
v[3] = "monitor";
v[4] = "registry";
v = staticinvoke <com.alibaba.spring.util.ObjectUtils: java.lang.Object[] of(java.lang.Object[])>(v);
<org.apache.dubbo.config.spring.beans.factory.'annotation'.ReferenceBeanBuilder: java.lang.String[] IGNORE_FIELD_NAMES> = v;
return;
}
}