Debugger (FreeMarker 2.3.23 API)
Date: 2015-07-05

freemarker.debug

## Interface Debugger

- All Superinterfaces:
    Remote

      public interface Debugger
      extends Remote

  The main debugger interface. Allows management of breakpoints as well as installation of listeners for debug events.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `DEFAULT_PORT`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addBreakpoint(Breakpoint breakpoint)` Adds a breakpoint
    `Object` | `addDebuggerListener(DebuggerListener listener)` Adds a listener for debugger events.
    `List` | `getBreakpoints()` Retrieves a list of all `Breakpoint` objects.
    `List` | `getBreakpoints(String templateName)` Retrieves a list of all `Breakpoint` objects for the specified template.
    `Collection` | `getSuspendedEnvironments()` Retrieves a collection of all `DebuggedEnvironment` objects that are currently suspended.
    `void` | `removeBreakpoint(Breakpoint breakpoint)` Removes a single breakpoint
    `void` | `removeBreakpoints()` Removes all breakpoints
    `void` | `removeBreakpoints(String templateName)` Removes all breakpoints for a specific template
    `void` | `removeDebuggerListener(Object id)` Removes a previously added debugger listener.

- - ### Field Detail

    - #### DEFAULT_PORT

          static final int DEFAULT_PORT

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### addBreakpoint

          void addBreakpoint(Breakpoint breakpoint)
                      throws RemoteException

      Adds a breakpoint
      Parameters:
        `breakpoint` - the breakpoint to add
      Throws:
        `RemoteException`

    - #### removeBreakpoint

          void removeBreakpoint(Breakpoint breakpoint)
                         throws RemoteException

      Removes a single breakpoint
      Parameters:
        `breakpoint` - the breakpoint to remove
      Throws:
        `RemoteException`

    - #### removeBreakpoints

          void removeBreakpoints(String templateName)
                          throws RemoteException

      Removes all breakpoints for a specific template
      Throws:
        `RemoteException`

    - #### removeBreakpoints

          void removeBreakpoints()
                          throws RemoteException

      Removes all breakpoints
      Throws:
        `RemoteException`

    - #### getBreakpoints

          List getBreakpoints()
                       throws RemoteException

      Retrieves a list of all `Breakpoint` objects.
      Throws:
        `RemoteException`

    - #### getBreakpoints

          List getBreakpoints(String templateName)
                       throws RemoteException

      Retrieves a list of all `Breakpoint` objects for the specified template.
      Throws:
        `RemoteException`

    - #### getSuspendedEnvironments

          Collection getSuspendedEnvironments()
                                       throws RemoteException

      Retrieves a collection of all `DebuggedEnvironment` objects that are currently suspended.
      Throws:
        `RemoteException`

    - #### addDebuggerListener

          Object addDebuggerListener(DebuggerListener listener)
                              throws RemoteException

      Adds a listener for debugger events.
      Returns:
        an identification token that should be passed to `removeDebuggerListener(Object)` to remove this listener.
      Throws:
        `RemoteException`

    - #### removeDebuggerListener

          void removeDebuggerListener(Object id)
                               throws RemoteException

      Removes a previously added debugger listener.
      Parameters:
        `id` - the identification token for the listener that was returned from a prior call to `addDebuggerListener(DebuggerListener)`.
      Throws:
        `RemoteException`