Class NullMarkerMessageImpl
- java.lang.Object
-
- com.opencloud.rhino.facilities.sas.NullMarkerMessageImpl
-
- All Implemented Interfaces:
MarkerMessage
,Message<MarkerMessage>
public final class NullMarkerMessageImpl extends Object implements MarkerMessage
This is public because package-private is classloader-package-private. Do not use in deployed code.
-
-
Field Summary
Fields Modifier and Type Field Description static MarkerMessage
NULL_MARKER_MESSAGE
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MarkerMessage
associationScope(Scope scope)
Sets the scope of the marker.MarkerMessage
branchScope()
The marker is an association marker whose scope is this branch only.MarkerMessage
instance(int instanceId)
boolean
isEnabled()
Allows a caller to guard against performing expensive marshalling of message parameters, in cases where it doesn’t have access to theSasFacility
.MarkerMessage
noneScope()
The marker is not an association marker.MarkerMessage
noReactivation()
void
report()
Enqueue this message for reporting to SAS.MarkerMessage
setReactivationFlag(boolean reactivate)
Sets the reactivation flag of the marker.MarkerMessage
staticParam(int param0)
Add a 32-bit fixed-length parameter to the message.MarkerMessage
staticParam(EnumParameter param0)
Add a 32-bit fixed-length parameter to the message, specified as an enumerated type.MarkerMessage
staticParam(Integer param0)
Add a 32-bit fixed-length parameter to the message, specified as an Integer.MarkerMessage
threadSafeParam(byte[] param)
Add a parameter that will not be copied, even afterMessage.report()
is called and therefore must not be modified by calling code.MarkerMessage
traceScope()
The marker is an association marker whose scope is the entire trace.MarkerMessage
varParam(Object param0)
Add one variable length parameter.MarkerMessage
varParams(Object param0, Object param1)
Add two variable-length parameters.MarkerMessage
varParams(Object param0, Object param1, Object param2)
Add three variable-length parameters.
-
-
-
Field Detail
-
NULL_MARKER_MESSAGE
public static final MarkerMessage NULL_MARKER_MESSAGE
-
-
Method Detail
-
instance
public MarkerMessage instance(int instanceId)
- Specified by:
instance
in interfaceMessage<MarkerMessage>
-
isEnabled
public boolean isEnabled()
Description copied from interface:Message
Allows a caller to guard against performing expensive marshalling of message parameters, in cases where it doesn’t have access to the
SasFacility
.- Specified by:
isEnabled
in interfaceMessage<MarkerMessage>
- Returns:
- true if SAS tracing is enabled on the SAS facility this message was created from
-
associationScope
public MarkerMessage associationScope(Scope scope)
Description copied from interface:MarkerMessage
Sets the scope of the marker.
- Specified by:
associationScope
in interfaceMarkerMessage
- Parameters:
scope
- whether the marker should associate on the branch or trace scope, or not associate.- Returns:
- this to allow method chaining
-
traceScope
public MarkerMessage traceScope()
Description copied from interface:MarkerMessage
The marker is an association marker whose scope is the entire trace.
- Specified by:
traceScope
in interfaceMarkerMessage
- Returns:
- this to allow method chaining
-
branchScope
public MarkerMessage branchScope()
Description copied from interface:MarkerMessage
The marker is an association marker whose scope is this branch only.
- Specified by:
branchScope
in interfaceMarkerMessage
- Returns:
- this to allow method chaining
-
noneScope
public MarkerMessage noneScope()
Description copied from interface:MarkerMessage
The marker is not an association marker.
- Specified by:
noneScope
in interfaceMarkerMessage
- Returns:
- this to allow method chaining
-
setReactivationFlag
public MarkerMessage setReactivationFlag(boolean reactivate)
Description copied from interface:MarkerMessage
Sets the reactivation flag of the marker.
- Specified by:
setReactivationFlag
in interfaceMarkerMessage
- Parameters:
reactivate
- whether the trail should be reactivated after the marker is sent- Returns:
- this to allow method chaining
-
noReactivation
public MarkerMessage noReactivation()
- Specified by:
noReactivation
in interfaceMarkerMessage
-
threadSafeParam
public MarkerMessage threadSafeParam(byte[] param)
Description copied from interface:Message
Add a parameter that will not be copied, even after
Message.report()
is called and therefore must not be modified by calling code.Callers should use this for parameters which it plans to modify and has therefore defensively copied or marshalled into a new byte array.
Use of
Message.isEnabled()
is recommended before marshalling to avoid unnecessary memory and CPU use.- Specified by:
threadSafeParam
in interfaceMessage<MarkerMessage>
- Parameters:
param
- a message parameter that the caller guarantees will not be subsequently modified- Returns:
- this, to allow method chaining
-
varParam
public MarkerMessage varParam(Object param0)
Description copied from interface:Message
Add one variable length parameter.
Warning: Parameters passed to this and other variable-length parameter methods must not be modified until the
Message.report()
method is called. See discussion in the Javadoc for this interface (Message
).- Specified by:
varParam
in interfaceMessage<MarkerMessage>
- Parameters:
param0
- an parameter to be added to this message- Returns:
- this, to allow method chaining
-
varParams
public MarkerMessage varParams(Object param0, Object param1)
Description copied from interface:Message
Add two variable-length parameters. Parameters will be handled as for
#param(Object)
.See warning on interface Javadoc about when parameters are marshalled.
- Specified by:
varParams
in interfaceMessage<MarkerMessage>
- Returns:
- this, to allow method chaining
-
varParams
public MarkerMessage varParams(Object param0, Object param1, Object param2)
Description copied from interface:Message
Add three variable-length parameters. Parameters will be handled as for
#param(Object)
.See warning on interface Javadoc about when parameters are marshalled.
- Specified by:
varParams
in interfaceMessage<MarkerMessage>
- Returns:
- this, to allow method chaining
-
staticParam
public MarkerMessage staticParam(int param0)
Description copied from interface:Message
Add a 32-bit fixed-length parameter to the message.
- Specified by:
staticParam
in interfaceMessage<MarkerMessage>
- Parameters:
param0
- a 32-bit integer containing the parameter- Returns:
- this, to allow method chaining
-
staticParam
public MarkerMessage staticParam(EnumParameter param0)
Description copied from interface:Message
Add a 32-bit fixed-length parameter to the message, specified as an enumerated type.
The implementation adds the parameter using
EnumParameter.value()
.- Specified by:
staticParam
in interfaceMessage<MarkerMessage>
- Parameters:
param0
- an enum parameter from a generated enum type- Returns:
- this, to allow method chaining
-
staticParam
public MarkerMessage staticParam(Integer param0)
Description copied from interface:Message
Add a 32-bit fixed-length parameter to the message, specified as an Integer.
- Specified by:
staticParam
in interfaceMessage<MarkerMessage>
- Parameters:
param0
- an enum parameter from a generated enum type- Returns:
- this, to allow method chaining
-
report
public void report()
Description copied from interface:Message
Enqueue this message for reporting to SAS.
Variable-length parameters added with
#param(Object)
and the multi-parameter methods are marshalled into the message when this method is called so they can be freely modified from this call on.Parameters added with
Message.threadSafeParam(byte[])
are not copied therefore must not be modified even after this method is called because the actual reporting to SAS will be done asynchronously.- Specified by:
report
in interfaceMessage<MarkerMessage>
-
-