public class org.apache.dubbo.config.spring.ServiceBean extends org.apache.dubbo.config.ServiceConfig implements org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean, org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.BeanNameAware, org.springframework.context.ApplicationEventPublisherAware
{
private static final long serialVersionUID;
private final transient org.apache.dubbo.config.'annotation'.Service service;
private transient org.springframework.context.ApplicationContext applicationContext;
private transient java.lang.String beanName;
private org.springframework.context.ApplicationEventPublisher applicationEventPublisher;
public void <init>()
{
org.apache.dubbo.config.spring.ServiceBean v;
v := @this: org.apache.dubbo.config.spring.ServiceBean;
specialinvoke v.<org.apache.dubbo.config.ServiceConfig: void <init>()>();
v.<org.apache.dubbo.config.spring.ServiceBean: org.apache.dubbo.config.'annotation'.Service service> = null;
return;
}
public void <init>(org.apache.dubbo.config.'annotation'.Service)
{
org.apache.dubbo.config.'annotation'.Service v;
org.apache.dubbo.config.spring.ServiceBean v;
v := @this: org.apache.dubbo.config.spring.ServiceBean;
v := @parameter: org.apache.dubbo.config.'annotation'.Service;
specialinvoke v.<org.apache.dubbo.config.ServiceConfig: void <init>(org.apache.dubbo.config.'annotation'.Service)>(v);
v.<org.apache.dubbo.config.spring.ServiceBean: org.apache.dubbo.config.'annotation'.Service service> = v;
return;
}
public void setApplicationContext(org.springframework.context.ApplicationContext)
{
org.springframework.context.ApplicationContext v;
org.apache.dubbo.config.spring.ServiceBean v;
v := @this: org.apache.dubbo.config.spring.ServiceBean;
v := @parameter: org.springframework.context.ApplicationContext;
v.<org.apache.dubbo.config.spring.ServiceBean: org.springframework.context.ApplicationContext applicationContext> = v;
staticinvoke <org.apache.dubbo.config.spring.extension.SpringExtensionFactory: void addApplicationContext(org.springframework.context.ApplicationContext)>(v);
return;
}
public void setBeanName(java.lang.String)
{
java.lang.String v;
org.apache.dubbo.config.spring.ServiceBean v;
v := @this: org.apache.dubbo.config.spring.ServiceBean;
v := @parameter: java.lang.String;
v.<org.apache.dubbo.config.spring.ServiceBean: java.lang.String beanName> = v;
return;
}
public org.apache.dubbo.config.'annotation'.Service getService()
{
org.apache.dubbo.config.'annotation'.Service v;
org.apache.dubbo.config.spring.ServiceBean v;
v := @this: org.apache.dubbo.config.spring.ServiceBean;
v = v.<org.apache.dubbo.config.spring.ServiceBean: org.apache.dubbo.config.'annotation'.Service service>;
return v;
}
public void afterPropertiesSet() throws java.lang.Exception
{
org.apache.dubbo.config.spring.ServiceBean v;
java.lang.String v, v, v;
boolean v, v;
v := @this: org.apache.dubbo.config.spring.ServiceBean;
v = virtualinvoke v.<org.apache.dubbo.config.spring.ServiceBean: java.lang.String getPath()>();
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.dubbo.config.spring.ServiceBean: java.lang.String getInterface()>();
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isNotEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.dubbo.config.spring.ServiceBean: java.lang.String getInterface()>();
virtualinvoke v.<org.apache.dubbo.config.spring.ServiceBean: void setPath(java.lang.String)>(v);
label:
return;
}
public java.lang.String getBeanName()
{
java.lang.String v;
org.apache.dubbo.config.spring.ServiceBean v;
v := @this: org.apache.dubbo.config.spring.ServiceBean;
v = v.<org.apache.dubbo.config.spring.ServiceBean: java.lang.String beanName>;
return v;
}
public void exported()
{
org.apache.dubbo.config.spring.ServiceBean v;
v := @this: org.apache.dubbo.config.spring.ServiceBean;
specialinvoke v.<org.apache.dubbo.config.ServiceConfig: void exported()>();
specialinvoke v.<org.apache.dubbo.config.spring.ServiceBean: void publishExportEvent()>();
return;
}
private void publishExportEvent()
{
org.springframework.context.ApplicationEventPublisher v;
org.apache.dubbo.config.spring.ServiceBean v;
org.apache.dubbo.config.spring.context.event.ServiceBeanExportedEvent v;
v := @this: org.apache.dubbo.config.spring.ServiceBean;
v = new org.apache.dubbo.config.spring.context.event.ServiceBeanExportedEvent;
specialinvoke v.<org.apache.dubbo.config.spring.context.event.ServiceBeanExportedEvent: void <init>(org.apache.dubbo.config.spring.ServiceBean)>(v);
v = v.<org.apache.dubbo.config.spring.ServiceBean: org.springframework.context.ApplicationEventPublisher applicationEventPublisher>;
interfaceinvoke v.<org.springframework.context.ApplicationEventPublisher: void publishEvent(org.springframework.context.ApplicationEvent)>(v);
return;
}
public void destroy() throws java.lang.Exception
{
org.apache.dubbo.config.spring.ServiceBean v;
v := @this: org.apache.dubbo.config.spring.ServiceBean;
return;
}
protected java.lang.Class getServiceClass(java.lang.Object)
{
org.apache.dubbo.config.spring.ServiceBean v;
java.lang.Class v, v;
java.lang.Object v;
boolean v;
v := @this: org.apache.dubbo.config.spring.ServiceBean;
v := @parameter: java.lang.Object;
v = staticinvoke <org.springframework.aop.support.AopUtils: boolean isAopProxy(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <org.springframework.aop.support.AopUtils: java.lang.Class getTargetClass(java.lang.Object)>(v);
return v;
label:
v = specialinvoke v.<org.apache.dubbo.config.ServiceConfig: java.lang.Class getServiceClass(java.lang.Object)>(v);
return v;
}
public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)
{
org.springframework.context.ApplicationEventPublisher v;
org.apache.dubbo.config.spring.ServiceBean v;
v := @this: org.apache.dubbo.config.spring.ServiceBean;
v := @parameter: org.springframework.context.ApplicationEventPublisher;
v.<org.apache.dubbo.config.spring.ServiceBean: org.springframework.context.ApplicationEventPublisher applicationEventPublisher> = v;
return;
}
}