Package net.sf.saxon.trace

## Interface Traceable

- All Superinterfaces:
    `Locatable`
  All Known Subinterfaces:
    `TraceableComponent`
  All Known Implementing Classes:
    `AdjacentTextNodeMerger`, `AnalyzeString`, `AncestorQualifiedPattern`, `AnchorPattern`, `AndExpression`, `ApplyImports`, `ApplyNextMatchingTemplate`, `ApplyTemplates`, `ArithmeticExpression`, `ArithmeticExpression10`, `Assign`, `Assignation`, `AtomicSequenceConverter`, `Atomizer`, `AttributeCreator`, `AttributeGetter`, `AxisExpression`, `BasePatternWithPredicate`, `BasicUpdatingExpression`, `BinaryExpression`, `Block`, `BooleanExpression`, `BooleanExpressionPattern`, `BreakInstr`, `ByteCodeCandidate`, `CallTemplate`, `CardinalityChecker`, `CastableExpression`, `CastExpression`, `CastingExpression`, `Choose`, `ClauseInfo`, `Comment`, `CompareToConstant`, `CompareToIntegerConstant`, `CompareToStringConstant`, `CompiledExpression`, `ComponentTracer`, `ComputedAttribute`, `ComputedElement`, `ConditionalBlock`, `ConditionalSorter`, `ConsumingOperand`, `ContextItemExpression`, `Copy`, `CopyModifyExpression`, `CopyOf`, `CurrentGroupCall`, `CurrentGroupingKeyCall`, `CurrentGroupPattern`, `CurrentItemExpression`, `DeepUpdate`, `DeleteExpression`, `Doctype`, `DocumentInstr`, `DocumentSorter`, `DoInstr`, `EagerLetExpression`, `ElementCreator`, `EmptyTextNodeRemover`, `EquivalenceComparison`, `ErrorExpression`, `EvaluateInstr`, `ExceptPattern`, `Expression`, `FilterExpression`, `FirstItemExpression`, `FixedAttribute`, `FixedElement`, `FLWORExpression`, `ForEach`, `ForEachGroup`, `ForExpression`, `Fork`, `ForMemberExpression`, `FunctionCall`, `FunctionLiteral`, `FunctionSequenceCoercer`, `GeneralComparison`, `GeneralComparison10`, `GeneralComparison20`, `GeneralComparisonEE`, `GeneralNodePattern`, `GeneralPositionalPattern`, `GlobalParam`, `GlobalVariable`, `GlobalVariableReference`, `HomogeneityChecker`, `IdentityComparison`, `IndexedFilterExpression`, `InsertExpression`, `InstanceOfExpression`, `Instruction`, `IntegerRangeTest`, `IntegratedFunctionCall`, `IntersectPattern`, `IsLastExpression`, `ItemChecker`, `ItemTypePattern`, `IterateInstr`, `JavaExtensionFunctionCall`, `JavaExtensionLibrary.UnresolvedExtensionFunctionCall`, `JAXPVariableReference`, `LastItemExpression`, `LetExpression`, `Literal`, `LocalParam`, `LocalParamBlock`, `LocalVariableReference`, `LookupAllExpression`, `LookupExpression`, `MemoFunction`, `MergeInstr`, `Message`, `MultithreadedForEach`, `NamedTemplate`, `NamespaceConstructor`, `NegateExpression`, `NextIteration`, `NextMatch`, `NodeSetPattern`, `NodeTestPattern`, `NumberInstruction`, `NumberSequenceFormatter`, `ObjectLookupExpression`, `OnEmptyExpr`, `OnNonEmptyExpr`, `OrExpression`, `OuterForExpression`, `ParentNodeConstructor`, `PartialApply`, `Pattern`, `PatternThatSetsCurrent`, `ProcessingInstruction`, `PseudoExpression`, `QuantifiedExpression`, `RangeExpression`, `RenameExpression`, `ReplaceNodeExpression`, `ReplaceValueExpression`, `ResultDocument`, `RootExpression`, `SequenceInstr`, `SimpleExpression`, `SimpleNodeConstructor`, `SimplePositionalPattern`, `SimpleStepExpression`, `SingleItemFilter`, `SingletonAtomizer`, `SingletonIntersectExpression`, `SlashExpression`, `SortExpression`, `SortKeyDefinition`, `SortKeyDefinitionList`, `SourceDocument`, `SQLConnect.ConnectInstruction`, `SquareArrayConstructor`, `StaticFunctionCall`, `StreamableUserFunction`, `StreamingFunctionArgumentPattern`, `StreamInstr`, `StringLiteral`, `SubscriptExpression`, `SuppliedParameterReference`, `SwitchExpression`, `SystemFunctionCall`, `SystemFunctionCall.Optimized`, `TabulateMaps`, `TailCallLoop`, `TailExpression`, `TemplateRule`, `TemplateRuleEE`, `Trace`, `TraceExpression`, `TryCatch`, `TupleExpression`, `UnaryExpression`, `UndeclaredVariable`, `UnionPattern`, `UniversalPattern`, `UntypedSequenceConverter`, `UseAttributeSet`, `UserFunction`, `UserFunctionCall`, `UserFunctionReference`, `ValueComparison`, `ValueOf`, `VariableReference`, `VennExpression`, `VennPattern`, `WherePopulated`, `While`, `XPathFunctionCall`, `XQueryExpression`, `XQueryExpressionEE`

      public interface Traceable
      extends Locatable

  A construct whose execution can be notified to a TraceListener. In practice this is either an expression, or a component such as a function or template or global variable.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default void` | `gatherProperties​(java.util.function.BiConsumer<java.lang.String,​java.lang.Object> consumer)` | Get the properties of this object to be included in trace messages, by supplying the property values to a supplied consumer function
    `StructuredQName` | `getObjectName()` | Get a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc.

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

      `getLocation`

- - ### Method Detail

    - #### getObjectName

          StructuredQName getObjectName()

      Get a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc. This is used only where the name is known statically.
      Returns:
        the QName of the object declared or manipulated by this instruction or expression

    - #### gatherProperties

          default void gatherProperties​(java.util.function.BiConsumer<java.lang.String,​java.lang.Object> consumer)

      Get the properties of this object to be included in trace messages, by supplying the property values to a supplied consumer function
      Parameters:
        `consumer` - the function to which the properties should be supplied, as (property name, value) pairs.