Class RequestTrace


  • public class RequestTrace
    extends java.lang.Object
    A trace of nested requests that are performed by the repository system. This trace information can be used to correlate repository events with higher level operations in the application code that eventually caused the events. A single trace can carry an arbitrary object as data which is meant to describe a request/operation that is currently executed. For call hierarchies within the repository system itself, this data will usually be the *Request object that is currently processed. When invoking methods on the repository system, client code may provide a request trace that has been prepopulated with whatever data is useful for the application to indicate its state for later evaluation when processing the repository events.
    See Also:
    RepositoryEvent.getTrace()
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.Object data  
      private RequestTrace parent  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        RequestTrace​(java.lang.Object data)
      Creates a new root trace with the specified data.
      protected RequestTrace​(RequestTrace parent, java.lang.Object data)
      Creates a new trace with the specified data and parent
    • Field Detail

      • data

        private final java.lang.Object data
    • Constructor Detail

      • RequestTrace

        public RequestTrace​(java.lang.Object data)
        Creates a new root trace with the specified data.
        Parameters:
        data - The data to associate with the trace, may be null.
      • RequestTrace

        protected RequestTrace​(RequestTrace parent,
                               java.lang.Object data)
        Creates a new trace with the specified data and parent
        Parameters:
        parent - The parent trace, may be null for a root trace.
        data - The data to associate with the trace, may be null.
    • Method Detail

      • newChild

        public static RequestTrace newChild​(RequestTrace parent,
                                            java.lang.Object data)
        Creates a child of the specified request trace. This method is basically a convenience that will invoke parent.newChild() when the specified parent trace is not null or otherwise instantiante a new root trace.
        Parameters:
        parent - The parent request trace, may be null.
        data - The data to associate with the child trace, may be null.
        Returns:
        The child trace, never null.
      • getData

        public final java.lang.Object getData()
        Gets the data associated with this trace.
        Returns:
        The data associated with this trace or null if none.
      • getParent

        public final RequestTrace getParent()
        Gets the parent of this trace.
        Returns:
        The parent of this trace or null if this is the root of the trace stack.
      • newChild

        public RequestTrace newChild​(java.lang.Object data)
        Creates a new child of this trace.
        Parameters:
        data - The data to associate with the child, may be null.
        Returns:
        The child trace, never null.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object