Package net.sf.saxon.trace

## Interface TraceableComponent

- All Superinterfaces:
    `Locatable`, `Traceable`
  All Known Implementing Classes:
    `GlobalParam`, `GlobalVariable`, `MemoFunction`, `NamedTemplate`, `StreamableUserFunction`, `TemplateRule`, `TemplateRuleEE`, `UndeclaredVariable`, `UserFunction`, `XQueryExpression`, `XQueryExpressionEE`

      public interface TraceableComponent
      extends Traceable

  A construct whose execution can be notified to a TraceListener. In practice this is a function or template or global variable.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Expression` | `getBody()` | Get the expression at the root of the expression tree used to evaluate this construct
    `java.lang.String` | `getTracingTag()` | Get a string to identify the type of component
    `void` | `setBody​(Expression expression)` | Set the expression to be used to evaluate this construct

    - ### Methods inherited from interface net.sf.saxon.expr.Locatable

      `getLocation`

    - ### Methods inherited from interface net.sf.saxon.trace.Traceable

      `gatherProperties, getObjectName`

- - ### Method Detail

    - #### getBody

          Expression getBody()

      Get the expression at the root of the expression tree used to evaluate this construct
      Returns:
        the root expression

    - #### setBody

          void setBody​(Expression expression)

      Set the expression to be used to evaluate this construct
      Parameters:
        `expression` - the evaluation expression

    - #### getTracingTag

          java.lang.String getTracingTag()

      Get a string to identify the type of component
      Returns:
        an identifying string