Package

com.thoughtworks

raii

Permalink

package raii

Visibility
  1. Public
  2. All

Value Members

  1. object ownership

    Permalink

    The name space for types that models ownership of resources.

    The name space for types that models ownership of resources.

    Author:

    杨博 (Yang Bo) <[email protected]>

    Example:
    1. import com.thoughtworks.raii.ownership._
      class TheOwner extends AutoCloseable {
        private val myStream: this.type Owned InputStream = this.own(new FileInputStream("foo.txt"))
        def close() = myStream.close()
        def withMyStream(f: Borrowing[InputStream] => Unit) = {
          f(myStream)
        }
      }
      val owner = new TheOwner
      owner.withMyStream { inputStream: Borrowing[InputStream] =>
        println(inputStream.read())
      }

Ungrouped