Class NullMarkerMessageImpl

    • Field Detail

      • NULL_MARKER_MESSAGE

        public static final MarkerMessage NULL_MARKER_MESSAGE
    • Method Detail

      • 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 interface Message<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 interface MarkerMessage
        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 interface MarkerMessage
        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 interface MarkerMessage
        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 interface MarkerMessage
        Parameters:
        reactivate - whether the trail should be reactivated after the marker is sent
        Returns:
        this to allow method chaining
      • 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 interface Message<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 interface Message<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 interface Message<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 interface Message<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 interface Message<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 interface Message<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 interface Message<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 interface Message<MarkerMessage>