public abstract class org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink extends java.lang.Object implements org.apache.activemq.transport.amqp.protocol.AmqpLink
{
protected final org.apache.activemq.transport.amqp.protocol.AmqpSession session;
protected final org.apache.qpid.proton.engine.Link endpoint;
protected boolean closed;
protected boolean opened;
protected java.util.List closeActions;
public void <init>(org.apache.activemq.transport.amqp.protocol.AmqpSession, org.apache.qpid.proton.engine.Link)
{
org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink v;
org.apache.activemq.transport.amqp.protocol.AmqpSession v;
org.apache.qpid.proton.engine.Link v;
java.util.ArrayList v;
v := @this: org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink;
v := @parameter: org.apache.activemq.transport.amqp.protocol.AmqpSession;
v := @parameter: org.apache.qpid.proton.engine.Link;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: java.util.List closeActions> = v;
v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.activemq.transport.amqp.protocol.AmqpSession session> = v;
v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link endpoint> = v;
return;
}
public void open()
{
org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink v;
org.apache.qpid.proton.engine.Link v, v;
boolean v;
v := @this: org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink;
v = v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: boolean opened>;
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
interfaceinvoke v.<org.apache.qpid.proton.engine.Link: void setContext(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
interfaceinvoke v.<org.apache.qpid.proton.engine.Link: void open()>();
v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: boolean opened> = 1;
label:
return;
}
public void detach()
{
org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink v;
org.apache.qpid.proton.engine.Link v, v, v, v;
boolean v;
v := @this: org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink;
v = v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: boolean closed>;
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
interfaceinvoke v.<org.apache.qpid.proton.engine.Link: void setContext(java.lang.Object)>(null);
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
interfaceinvoke v.<org.apache.qpid.proton.engine.Link: void detach()>();
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
interfaceinvoke v.<org.apache.qpid.proton.engine.Link: void free()>();
label:
return;
}
public void close(org.apache.qpid.proton.amqp.transport.ErrorCondition)
{
org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink v;
org.apache.qpid.proton.amqp.transport.ErrorCondition v;
org.apache.qpid.proton.engine.Link v, v, v, v, v;
boolean v, v;
v := @this: org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink;
v := @parameter: org.apache.qpid.proton.amqp.transport.ErrorCondition;
v = v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: boolean closed>;
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
v = v instanceof org.apache.qpid.proton.engine.Sender;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
interfaceinvoke v.<org.apache.qpid.proton.engine.Link: void setSource(org.apache.qpid.proton.amqp.transport.Source)>(null);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
interfaceinvoke v.<org.apache.qpid.proton.engine.Link: void setTarget(org.apache.qpid.proton.amqp.transport.Target)>(null);
label:
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
interfaceinvoke v.<org.apache.qpid.proton.engine.Link: void setCondition(org.apache.qpid.proton.amqp.transport.ErrorCondition)>(v);
label:
virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: void close()>();
label:
return;
}
public void close()
{
java.util.Iterator v;
org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink v;
java.util.List v, v;
java.lang.Object v;
org.apache.qpid.proton.engine.Link v, v, v, v;
boolean v, v;
v := @this: org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink;
v = v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: boolean closed>;
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
interfaceinvoke v.<org.apache.qpid.proton.engine.Link: void setContext(java.lang.Object)>(null);
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
interfaceinvoke v.<org.apache.qpid.proton.engine.Link: void close()>();
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link getEndpoint()>();
interfaceinvoke v.<org.apache.qpid.proton.engine.Link: void free()>();
label:
v = v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: java.util.List closeActions>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.lang.Runnable: void run()>();
goto label;
label:
v = v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: java.util.List closeActions>;
interfaceinvoke v.<java.util.List: void clear()>();
v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: boolean opened> = 0;
v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: boolean closed> = 1;
label:
return;
}
public boolean isOpened()
{
org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink v;
boolean v;
v := @this: org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink;
v = v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: boolean opened>;
return v;
}
public boolean isClosed()
{
org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink v;
boolean v;
v := @this: org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink;
v = v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: boolean closed>;
return v;
}
public org.apache.qpid.proton.engine.Link getEndpoint()
{
org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink v;
org.apache.qpid.proton.engine.Link v;
v := @this: org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink;
v = v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.qpid.proton.engine.Link endpoint>;
return v;
}
public org.apache.activemq.transport.amqp.protocol.AmqpSession getSession()
{
org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink v;
org.apache.activemq.transport.amqp.protocol.AmqpSession v;
v := @this: org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink;
v = v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.activemq.transport.amqp.protocol.AmqpSession session>;
return v;
}
public void addCloseAction(java.lang.Runnable)
{
org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink v;
java.util.List v;
java.lang.Runnable v;
v := @this: org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink;
v := @parameter: java.lang.Runnable;
v = v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: java.util.List closeActions>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
protected void sendToActiveMQ(org.apache.activemq.command.Command)
{
org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink v;
org.apache.activemq.command.Command v;
org.apache.activemq.transport.amqp.protocol.AmqpSession v;
org.apache.activemq.transport.amqp.protocol.AmqpConnection v;
v := @this: org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink;
v := @parameter: org.apache.activemq.command.Command;
v = v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.activemq.transport.amqp.protocol.AmqpSession session>;
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpSession: org.apache.activemq.transport.amqp.protocol.AmqpConnection getConnection()>();
virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpConnection: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.amqp.ResponseHandler)>(v, null);
return;
}
protected void sendToActiveMQ(org.apache.activemq.command.Command, org.apache.activemq.transport.amqp.ResponseHandler)
{
org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink v;
org.apache.activemq.command.Command v;
org.apache.activemq.transport.amqp.protocol.AmqpSession v;
org.apache.activemq.transport.amqp.ResponseHandler v;
org.apache.activemq.transport.amqp.protocol.AmqpConnection v;
v := @this: org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink;
v := @parameter: org.apache.activemq.command.Command;
v := @parameter: org.apache.activemq.transport.amqp.ResponseHandler;
v = v.<org.apache.activemq.transport.amqp.protocol.AmqpAbstractLink: org.apache.activemq.transport.amqp.protocol.AmqpSession session>;
v = virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpSession: org.apache.activemq.transport.amqp.protocol.AmqpConnection getConnection()>();
virtualinvoke v.<org.apache.activemq.transport.amqp.protocol.AmqpConnection: void sendToActiveMQ(org.apache.activemq.command.Command,org.apache.activemq.transport.amqp.ResponseHandler)>(v, v);
return;
}
}