Package groovy.lang

## Class TracingInterceptor

- java.lang.Object
- - groovy.lang.TracingInterceptor

- All Implemented Interfaces:
    `Interceptor`

      public class TracingInterceptor
      extends java.lang.Object
      implements Interceptor

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.io.Writer` | `writer` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TracingInterceptor()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `afterInvoke​(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments, java.lang.Object result)` | This code is executed after the method is optionally called.
    `java.lang.Object` | `beforeInvoke​(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments)` | This code is executed before the method is optionally called.
    `boolean` | `doInvoke()` |
    `java.io.Writer` | `getWriter()` | Returns the writer associated with this interceptor.
    `void` | `setWriter​(java.io.Writer writer)` | Changes the writer associated with this interceptor.
    `protected void` | `write​(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments, java.lang.String origin)` |
    `protected void` | `writeInfo​(java.lang.Class aClass, java.lang.String methodName, java.lang.Object[] arguments)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### writer

          protected java.io.Writer writer

  - ### Constructor Detail

    - #### TracingInterceptor

          public TracingInterceptor()

  - ### Method Detail

    - #### getWriter

          public java.io.Writer getWriter()

      Returns the writer associated with this interceptor.

    - #### setWriter

          public void setWriter​(java.io.Writer writer)

      Changes the writer associated with this interceptor.

    - #### beforeInvoke

          public java.lang.Object beforeInvoke​(java.lang.Object object,
                                               java.lang.String methodName,
                                               java.lang.Object[] arguments)

      Description copied from interface: `Interceptor`
      This code is executed before the method is optionally called.
      Specified by:
        `beforeInvoke` in interface `Interceptor`
      Parameters:
        `object` - receiver object for the method call
        `methodName` - name of the method to call
        `arguments` - arguments to the method call
      Returns:
        any arbitrary result that replaces the result of the original method call only if doInvoke() returns false and afterInvoke() relays this result.

    - #### afterInvoke

          public java.lang.Object afterInvoke​(java.lang.Object object,
                                              java.lang.String methodName,
                                              java.lang.Object[] arguments,
                                              java.lang.Object result)

      Description copied from interface: `Interceptor`
      This code is executed after the method is optionally called.
      Specified by:
        `afterInvoke` in interface `Interceptor`
      Parameters:
        `object` - receiver object for the called method
        `methodName` - name of the called method
        `arguments` - arguments to the called method
        `result` - result of the executed method call or result of beforeInvoke if method was not called
      Returns:
        any arbitrary result that can replace the result of the original method call. Typically, the result parameter is returned.

    - #### doInvoke

          public boolean doInvoke()

      Specified by:
        `doInvoke` in interface `Interceptor`
      Returns:
        whether the target method should be invoked at all.

    - #### write

          protected void write​(java.lang.Object object,
                               java.lang.String methodName,
                               java.lang.Object[] arguments,
                               java.lang.String origin)

    - #### writeInfo

          protected void writeInfo​(java.lang.Class aClass,
                                   java.lang.String methodName,
                                   java.lang.Object[] arguments)
                            throws java.io.IOException

      Throws:
        `java.io.IOException`