public class org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy extends java.lang.Object implements org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy
{
public static final java.lang.String RETAIN_PROPERTY;
public static final java.lang.String RETAINED_PROPERTY;
private volatile org.apache.activemq.broker.region.MessageReference retainedMessage;
private org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped;
public void <init>(org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy)
{
org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy v;
org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy v;
v := @this: org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy;
v := @parameter: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped> = v;
return;
}
public boolean add(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.MessageReference) throws java.lang.Exception
{
org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.Message v, v, v, v, v;
int v;
java.lang.Boolean v;
java.lang.String v;
org.apache.activemq.util.ByteSequence v;
boolean v, v, v;
org.apache.activemq.broker.region.MessageReference v, v, v;
org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy v, v;
java.lang.Object v;
v := @this: org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: java.lang.Object getProperty(java.lang.String)>("ActiveMQ.Retain");
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.util.ByteSequence getContent()>();
v = virtualinvoke v.<org.apache.activemq.util.ByteSequence: int getLength()>();
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.Message copy()>();
v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.MessageReference retainedMessage> = v;
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.MessageReference retainedMessage>;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
virtualinvoke v.<org.apache.activemq.command.Message: void removeProperty(java.lang.String)>("ActiveMQ.Retain");
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.MessageReference retainedMessage>;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
virtualinvoke v.<org.apache.activemq.command.Message: void setProperty(java.lang.String,java.lang.Object)>("ActiveMQ.Retained", v);
goto label;
label:
v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.MessageReference retainedMessage> = null;
label:
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
virtualinvoke v.<org.apache.activemq.command.Message: void removeProperty(java.lang.String)>("ActiveMQ.Retain");
label:
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped>;
if v != null goto label;
v = 1;
goto label;
label:
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped>;
v = interfaceinvoke v.<org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy: boolean add(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.MessageReference)>(v, v);
label:
return v;
}
public void recover(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.Topic, org.apache.activemq.broker.region.SubscriptionRecovery) throws java.lang.Exception
{
org.apache.activemq.broker.region.MessageReference v, v;
org.apache.activemq.broker.region.Topic v;
org.apache.activemq.broker.region.SubscriptionRecovery v;
org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy v;
org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy v, v;
org.apache.activemq.broker.ConnectionContext v;
boolean v, v, v;
v := @this: org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.Topic;
v := @parameter: org.apache.activemq.broker.region.SubscriptionRecovery;
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.MessageReference retainedMessage>;
if v == null goto label;
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.MessageReference retainedMessage>;
interfaceinvoke v.<org.apache.activemq.broker.region.SubscriptionRecovery: boolean addRecoveredMessage(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.MessageReference)>(v, v);
label:
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped>;
if v == null goto label;
v = 1;
v = v instanceof org.apache.activemq.broker.region.DurableTopicSubscription;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.DurableTopicSubscription: boolean isEmpty(org.apache.activemq.broker.region.Topic)>(v);
if v != 0 goto label;
v = 0;
label:
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped>;
interfaceinvoke v.<org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy: void recover(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.Topic,org.apache.activemq.broker.region.SubscriptionRecovery)>(v, v, v);
label:
return;
}
public void start() throws java.lang.Exception
{
org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy v;
org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy v, v;
v := @this: org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy;
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped>;
if v == null goto label;
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped>;
interfaceinvoke v.<org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy: void start()>();
label:
return;
}
public void stop() throws java.lang.Exception
{
org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy v;
org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy v, v;
v := @this: org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy;
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped>;
if v == null goto label;
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped>;
interfaceinvoke v.<org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy: void stop()>();
label:
return;
}
public org.apache.activemq.command.Message[] browse(org.apache.activemq.command.ActiveMQDestination) throws java.lang.Exception
{
java.lang.Object[] v;
java.util.ArrayList v;
org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy v;
org.apache.activemq.command.Message v, v;
int v, v, v, v, v, v;
boolean v;
org.apache.activemq.broker.region.MessageReference v, v, v;
org.apache.activemq.command.Message[] v, v;
org.apache.activemq.command.ActiveMQDestination v, v;
org.apache.activemq.filter.DestinationFilter v;
org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy v, v;
v := @this: org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.MessageReference retainedMessage>;
if v == null goto label;
v = staticinvoke <org.apache.activemq.filter.DestinationFilter: org.apache.activemq.filter.DestinationFilter parseFilter(org.apache.activemq.command.ActiveMQDestination)>(v);
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.MessageReference retainedMessage>;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.filter.DestinationFilter: boolean matches(org.apache.activemq.command.ActiveMQDestination)>(v);
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.MessageReference retainedMessage>;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = interfaceinvoke v.<java.util.List: int size()>();
v = newarray (org.apache.activemq.command.Message)[v];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped>;
if v == null goto label;
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped>;
v = interfaceinvoke v.<org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy: org.apache.activemq.command.Message[] browse(org.apache.activemq.command.ActiveMQDestination)>(v);
if v == null goto label;
v = lengthof v;
if v <= 0 goto label;
v = lengthof v;
v = lengthof v;
v = v + v;
staticinvoke <java.util.Arrays: java.lang.Object[] copyOf(java.lang.Object[],int)>(v, v);
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, v, v);
label:
return v;
}
public org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy copy()
{
org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy v, v;
org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy v;
v := @this: org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy;
v = new org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy;
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped>;
specialinvoke v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: void <init>(org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy)>(v);
return v;
}
public void setBroker(org.apache.activemq.broker.Broker)
{
org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy v;
org.apache.activemq.broker.Broker v;
v := @this: org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy;
v := @parameter: org.apache.activemq.broker.Broker;
return;
}
public void setWrapped(org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy)
{
org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy v;
org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy v;
v := @this: org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy;
v := @parameter: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy;
v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped> = v;
return;
}
public org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy getWrapped()
{
org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy v;
org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy v;
v := @this: org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy;
v = v.<org.apache.activemq.broker.region.policy.RetainedMessageSubscriptionRecoveryPolicy: org.apache.activemq.broker.region.policy.SubscriptionRecoveryPolicy wrapped>;
return v;
}
}