Package com.io7m.smfj.processing.api

## Interface SMFFilterCommandContextType

- All Known Implementing Classes:
    `SMFFilterCommandContext`

      @Immutable
      public interface SMFFilterCommandContextType

  The context used during filtering.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default void` | `checkPreconditions()` | Check preconditions for the type.
    `java.nio.file.Path` | `currentPath()` | The current path.
    `default java.nio.file.Path` | `resolvePath​(java.nio.file.Path path)` | Resolve a given path.
    `java.nio.file.Path` | `sourceRoot()` | The source root directory.

- - ### Method Detail

    - #### sourceRoot

          @Parameter
          java.nio.file.Path sourceRoot()

      The source root directory. If a filter causes files to be open, they must be descendants of this directory.
      Returns:
        A source root directory

    - #### currentPath

          @Parameter
          java.nio.file.Path currentPath()

      The current path. If a filter command specifies a relative path, the path is resolved relative to the current path.
      Returns:
        The current path
      See Also:
        `resolvePath(Path)`

    - #### checkPreconditions

          @Check
          default void checkPreconditions()

      Check preconditions for the type.

    - #### resolvePath

          default java.nio.file.Path resolvePath​(java.nio.file.Path path)
                                          throws java.lang.IllegalArgumentException

      Resolve a given path.
      Parameters:
        `path` - The path
      Returns:
        A resolved path
      Throws:
        `java.lang.IllegalArgumentException` - Iff the resolved path would fall outside of the source root