Interface QuteDebugProtocolClient

All Superinterfaces:
org.eclipse.lsp4j.debug.services.IDebugProtocolClient, JavaSourceResolver

public interface QuteDebugProtocolClient extends org.eclipse.lsp4j.debug.services.IDebugProtocolClient, JavaSourceResolver
Combined Debug Protocol client interface for Qute templates.

Extends the standard IDebugProtocolClient to include the JavaSourceResolver functionality for resolving Java sources referenced from Qute templates via qute-java:// URIs.

Event-based clients (like VS Code) can override the notification method onResolveJavaSource(JavaSourceLocationEventArguments) to asynchronously resolve Java sources for template breakpoints.

Blocking clients (like IntelliJ, Eclipse IDE) can simply implement JavaSourceResolver and resolve the source synchronously.

  • Field Summary

    Fields inherited from interface org.eclipse.lsp4j.debug.services.IDebugProtocolClient

    SCHEMA_VERSION
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    Event/notification sent by the server to event-based clients (VS Code, etc.)

    Methods inherited from interface org.eclipse.lsp4j.debug.services.IDebugProtocolClient

    breakpoint, capabilities, continued, exited, initialized, invalidated, loadedSource, memory, module, output, process, progressEnd, progressStart, progressUpdate, runInTerminal, startDebugging, stopped, terminated, thread

    Methods inherited from interface io.quarkus.qute.debug.client.JavaSourceResolver

    resolveJavaSource
  • Method Details

    • onResolveJavaSource

      default void onResolveJavaSource(JavaSourceLocationEventArguments request)
      Event/notification sent by the server to event-based clients (VS Code, etc.) requesting the resolution of a Java source corresponding to a Qute template.

      The payload contains a unique request ID and the original JavaSourceLocationArguments. The client is expected to eventually send back a qute/onJavaSourceResolved notification with the same ID and the resolved source.

      Default implementation is a no-op. Clients that support event-based resolution should override this method.

      Parameters:
      request - the event-based request containing ID and source arguments