public abstract class org.springframework.remoting.support.RemoteExporter extends org.springframework.remoting.support.RemotingSupport
{
private java.lang.Object service;
private java.lang.Class serviceInterface;
private java.lang.Boolean registerTraceInterceptor;
private java.lang.Object[] interceptors;
public void <init>()
{
org.springframework.remoting.support.RemoteExporter v;
v := @this: org.springframework.remoting.support.RemoteExporter;
specialinvoke v.<org.springframework.remoting.support.RemotingSupport: void <init>()>();
return;
}
public void setService(java.lang.Object)
{
java.lang.Object v;
org.springframework.remoting.support.RemoteExporter v;
v := @this: org.springframework.remoting.support.RemoteExporter;
v := @parameter: java.lang.Object;
v.<org.springframework.remoting.support.RemoteExporter: java.lang.Object service> = v;
return;
}
public java.lang.Object getService()
{
java.lang.Object v;
org.springframework.remoting.support.RemoteExporter v;
v := @this: org.springframework.remoting.support.RemoteExporter;
v = v.<org.springframework.remoting.support.RemoteExporter: java.lang.Object service>;
return v;
}
public void setServiceInterface(java.lang.Class)
{
org.springframework.remoting.support.RemoteExporter v;
java.lang.Class v;
java.lang.IllegalArgumentException v;
boolean v;
v := @this: org.springframework.remoting.support.RemoteExporter;
v := @parameter: java.lang.Class;
if v == null goto label;
v = virtualinvoke v.<java.lang.Class: boolean isInterface()>();
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("\'serviceInterface\' must be an interface");
throw v;
label:
v.<org.springframework.remoting.support.RemoteExporter: java.lang.Class serviceInterface> = v;
return;
}
public java.lang.Class getServiceInterface()
{
java.lang.Class v;
org.springframework.remoting.support.RemoteExporter v;
v := @this: org.springframework.remoting.support.RemoteExporter;
v = v.<org.springframework.remoting.support.RemoteExporter: java.lang.Class serviceInterface>;
return v;
}
public void setRegisterTraceInterceptor(boolean)
{
java.lang.Boolean v;
org.springframework.remoting.support.RemoteExporter v;
boolean v;
v := @this: org.springframework.remoting.support.RemoteExporter;
v := @parameter: boolean;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v.<org.springframework.remoting.support.RemoteExporter: java.lang.Boolean registerTraceInterceptor> = v;
return;
}
public void setInterceptors(java.lang.Object[])
{
java.lang.Object[] v;
org.springframework.remoting.support.RemoteExporter v;
v := @this: org.springframework.remoting.support.RemoteExporter;
v := @parameter: java.lang.Object[];
v.<org.springframework.remoting.support.RemoteExporter: java.lang.Object[] interceptors> = v;
return;
}
protected void checkService() throws java.lang.IllegalArgumentException
{
java.lang.Object v;
java.lang.IllegalArgumentException v;
org.springframework.remoting.support.RemoteExporter v;
v := @this: org.springframework.remoting.support.RemoteExporter;
v = virtualinvoke v.<org.springframework.remoting.support.RemoteExporter: java.lang.Object getService()>();
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Property \'service\' is required");
throw v;
label:
return;
}
protected void checkServiceInterface() throws java.lang.IllegalArgumentException
{
org.springframework.remoting.support.RemoteExporter v;
java.lang.IllegalArgumentException v, v, v;
java.lang.Class v, v;
java.lang.Object v;
java.lang.String v, v, v, v;
boolean v, v;
v := @this: org.springframework.remoting.support.RemoteExporter;
v = virtualinvoke v.<org.springframework.remoting.support.RemoteExporter: java.lang.Class getServiceInterface()>();
v = virtualinvoke v.<org.springframework.remoting.support.RemoteExporter: java.lang.Object getService()>();
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Property \'serviceInterface\' is required");
throw v;
label:
v = v instanceof java.lang.String;
if v == 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Service [\u] is a String rather than an actual service reference: Have you accidentally specified the service bean name as value instead of as reference?");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.Class: boolean isInstance(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Object,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Service interface [\u] needs to be implemented by service [\u] of class [\u]");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
protected java.lang.Object getProxyForService()
{
java.lang.Object[] v, v, v;
int v, v;
java.lang.Boolean v, v;
java.lang.String v;
org.springframework.aop.Advisor v;
boolean v;
org.springframework.remoting.support.RemoteExporter v;
org.springframework.aop.framework.adapter.AdvisorAdapterRegistry v;
org.springframework.remoting.support.RemoteInvocationTraceInterceptor v;
org.springframework.aop.framework.ProxyFactory v;
java.lang.Class v;
java.lang.Object v, v, v;
java.lang.ClassLoader v;
v := @this: org.springframework.remoting.support.RemoteExporter;
virtualinvoke v.<org.springframework.remoting.support.RemoteExporter: void checkService()>();
virtualinvoke v.<org.springframework.remoting.support.RemoteExporter: void checkServiceInterface()>();
v = new org.springframework.aop.framework.ProxyFactory;
specialinvoke v.<org.springframework.aop.framework.ProxyFactory: void <init>()>();
v = virtualinvoke v.<org.springframework.remoting.support.RemoteExporter: java.lang.Class getServiceInterface()>();
virtualinvoke v.<org.springframework.aop.framework.ProxyFactory: void addInterface(java.lang.Class)>(v);
v = v.<org.springframework.remoting.support.RemoteExporter: java.lang.Boolean registerTraceInterceptor>;
if v == null goto label;
v = v.<org.springframework.remoting.support.RemoteExporter: java.lang.Boolean registerTraceInterceptor>;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
goto label;
label:
v = v.<org.springframework.remoting.support.RemoteExporter: java.lang.Object[] interceptors>;
if v != null goto label;
label:
v = new org.springframework.remoting.support.RemoteInvocationTraceInterceptor;
v = virtualinvoke v.<org.springframework.remoting.support.RemoteExporter: java.lang.String getExporterName()>();
specialinvoke v.<org.springframework.remoting.support.RemoteInvocationTraceInterceptor: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.springframework.aop.framework.ProxyFactory: void addAdvice(org.aopalliance.aop.Advice)>(v);
label:
v = v.<org.springframework.remoting.support.RemoteExporter: java.lang.Object[] interceptors>;
if v == null goto label;
v = staticinvoke <org.springframework.aop.framework.adapter.GlobalAdvisorAdapterRegistry: org.springframework.aop.framework.adapter.AdvisorAdapterRegistry getInstance()>();
v = v.<org.springframework.remoting.support.RemoteExporter: java.lang.Object[] interceptors>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = interfaceinvoke v.<org.springframework.aop.framework.adapter.AdvisorAdapterRegistry: org.springframework.aop.Advisor wrap(java.lang.Object)>(v);
virtualinvoke v.<org.springframework.aop.framework.ProxyFactory: void addAdvisor(org.springframework.aop.Advisor)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.springframework.remoting.support.RemoteExporter: java.lang.Object getService()>();
virtualinvoke v.<org.springframework.aop.framework.ProxyFactory: void setTarget(java.lang.Object)>(v);
virtualinvoke v.<org.springframework.aop.framework.ProxyFactory: void setOpaque(boolean)>(1);
v = virtualinvoke v.<org.springframework.remoting.support.RemoteExporter: java.lang.ClassLoader getBeanClassLoader()>();
v = virtualinvoke v.<org.springframework.aop.framework.ProxyFactory: java.lang.Object getProxy(java.lang.ClassLoader)>(v);
return v;
}
protected java.lang.String getExporterName()
{
java.lang.Class v;
java.lang.String v;
org.springframework.remoting.support.RemoteExporter v;
v := @this: org.springframework.remoting.support.RemoteExporter;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.springframework.util.ClassUtils: java.lang.String getShortName(java.lang.Class)>(v);
return v;
}
}