Package ghidra.framework.protocol.ghidra

# Interface GhidraURLResultHandler

All Known Implementing Classes:
  `AcceptUrlContentTask`, `ContentTypeQueryTask`, `GhidraURLQueryTask`, `GhidraURLResultHandlerAdapter`

public interface GhidraURLResultHandler

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default void`
  `externalLinkIgnored(URL url)`
  Handle an external link URL which is not followed.
  `void`
  `handleError(String title, String message, URL url, IOException cause)`
  Handle error which occurs during query operation.
  `default void`
  `handleUnauthorizedAccess(URL url)`
  Handle authorization error.
  `void`
  `processResult(DomainFile domainFile, URL url, TaskMonitor monitor)`
  Process the specified `domainFile` query result.
  `void`
  `processResult(DomainFolder domainFolder, URL url, TaskMonitor monitor)`
  Process the specified `domainFolder` query result.

- ## Method Details

  - ### processResult

    void processResult(DomainFile domainFile, URL url, TaskMonitor monitor) throws IOException, CancelledException
    Process the specified `domainFile` query result. Dissemination of the `domainFile` instance should be restricted and any use of it completed before the call to this method returns. Upon return from this method call the underlying connection will be closed and at which time the `domainFile` instance will become invalid.
    Parameters:
      `domainFile` - `DomainFile` to which the URL refers.
      `url` - URL which was used to retrieve the specified `domainFile`
      `monitor` - task monitor
    Throws:
      `IOException` - if an IO error occurs
      `CancelledException` - if task is cancelled

  - ### processResult

    void processResult(DomainFolder domainFolder, URL url, TaskMonitor monitor) throws IOException, CancelledException
    Process the specified `domainFolder` query result. Dissemination of the `domainFolder` instance should be restricted and any use of it completed before the call to this method returns. Upon return from this method call the underlying connection will be closed and at which time the `domainFolder` instance will become invalid.
    Parameters:
      `domainFolder` - `DomainFolder` to which the URL refers.
      `url` - URL which was used to retrieve the specified `domainFolder`
      `monitor` - task monitor
    Throws:
      `IOException` - if an IO error occurs
      `CancelledException` - if task is cancelled

  - ### handleError

    void handleError(String title, String message, URL url, IOException cause) throws IOException
    Handle error which occurs during query operation.
    Parameters:
      `title` - error title
      `message` - error detail
      `url` - URL which was used for query
      `cause` - cause of error (may be null)
    Throws:
      `IOException` - may be thrown if handler decides to propogate error

  - ### handleUnauthorizedAccess

    default void handleUnauthorizedAccess(URL url) throws IOException
    Handle authorization error. This condition is generally logged and user notified via GUI during connection processing. This method does not do anything by default but is provided to flag failure if needed since `handleError(String, String, URL, IOException)` will not be invoked.
    Parameters:
      `url` - connection URL
    Throws:
      `IOException` - may be thrown if handler decides to propogate error

  - ### externalLinkIgnored

    default void externalLinkIgnored(URL url) throws IOException
    Handle an external link URL which is not followed.
    Parameters:
      `url` - connection URL
    Throws:
      `IOException` - may be thrown if handler decides to propogate error