Trait/Object

sbt.io

FileTreeRepository

Related Docs: object FileTreeRepository | package io

Permalink

trait FileTreeRepository[+T] extends Observable[T] with FileTreeDataView[T] with AutoCloseable

Monitors registered directories for file changes. A typical implementation will keep an in memory cache of the file system that can be queried in FileTreeRepository#listEntries. The FileTreeRepository#register method adds monitoring for a particular cache. A filter may be provided so that the cache doesn't waste memory on files the user doesn't care about. The cache may be shared across a code base so there additional apis for adding filters or changing the recursive property of a directory.

T

the type of the FileTreeDataView.Entry.values.

Linear Supertypes
FileTreeDataView[T], FileTreeView, Observable[T], AutoCloseable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FileTreeRepository
  2. FileTreeDataView
  3. FileTreeView
  4. Observable
  5. AutoCloseable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def addObserver(observer: Observer[T]): Int

    Permalink

    Add callbacks to be invoked on file events.

    Add callbacks to be invoked on file events.

    observer

    the callbacks to invoke

    returns

    a handle to the callback.

    Definition Classes
    Observable
  2. abstract def close(): Unit

    Permalink
    Definition Classes
    AutoCloseable
    Annotations
    @throws( classOf[java.lang.Exception] )
  3. abstract def list(path: Path, maxDepth: Int, filter: (TypedPath) ⇒ Boolean): Seq[TypedPath]

    Permalink

    List the contents of the current directory.

    List the contents of the current directory.

    path

    the path to list

    maxDepth

    controls the depth of children of the path to include in the results. When maxDepth is -1, list should only return the TypedPath for this directory. For non-negative values, list should return only entries whose relativized path has

    maxDepth - 1

    the children of the path should be included in the result, but none of the children of any of the subdirectories should be included.

    filter

    only return files accepted by the filter

    returns

    a sequence of TypedPaths.

    Definition Classes
    FileTreeView
  4. abstract def listEntries(path: Path, maxDepth: Int, filter: (Entry[T]) ⇒ Boolean): Seq[Entry[T]]

    Permalink

    List the contents of the current directory where each returned FileTreeDataView.Entry has a data value associated with it.

    List the contents of the current directory where each returned FileTreeDataView.Entry has a data value associated with it.

    path

    the path to list

    maxDepth

    controls the depth of children of the path to include in the results. When maxDepth is -1, listEntries should only return the TypedPath for this directory. For non-negative values, listEntries should return only entries whose relativized path has

    maxDepth - 1

    when maxDepth is zero, all of the children of the path should be included in the result, but none of the children of any of the subdirectories should be included.

    filter

    only return files accepted by the filter

    returns

    a sequence of FileTreeDataView.Entry instances.

    Definition Classes
    FileTreeDataView
  5. abstract def register(path: Path, maxDepth: Int): Either[IOException, Boolean]

    Permalink

    Register a directory for monitoring

    Register a directory for monitoring

    path

    the path to list

    maxDepth

    controls how the depth of children of the registered path to consider. When maxDepth is -1, then the repository should only monitor the path itself. When it is zero, the the repository should monitor the path and its direct children. For values greater than zero,

    returns

    an Either that is a Right when register has no errors and a Left if an IOException is thrown while registering the path. The result should be true if the path has never been previously registered or if the recursive flag flips from false to true.

  6. abstract def removeObserver(handle: Int): Unit

    Permalink

    Removes a callback that was added via addObserver

    Removes a callback that was added via addObserver

    handle

    The handle returned by addObserver

    Definition Classes
    Observable
  7. abstract def unregister(path: Path): Unit

    Permalink

    Remove a path from monitoring.

    Remove a path from monitoring.

    path

    the path to stop monitoring

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  16. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from FileTreeDataView[T]

Inherited from FileTreeView

Inherited from Observable[T]

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped