|
Scala Library Documentation
|
|
scala/util/Fluid.scala]
class
Fluid[T](init : T)
extends AnyRefvalue method. New values can be
pushed using the withValue method.
Values pushed via withValue only
stay valid while the withValue's
second argument, a parameterless closure,
executes. When the second argument finishes,
the fluid reverts to the previous value.
Usage of withValue looks like this:
someFluid.withValue(newValue) {
// ... code called in here that calls value ...
// ... will be given back the newValue ...
}
Each thread gets its own stack of bindings. When a
new thread is created, the fluid gets a copy of
the stack of bindings from the parent thread, and
from then on the bindings for the new thread
are independent of those for the original thread.| Method Summary | |
override def
|
toString : String |
def
|
value
: T
Retrieve the current value
|
def
|
value_=
(newval : T) : Unit
Change the currently bound value, discarding the old value.
Usually withValue() gives better semantics.
|
def
|
withValue
[S](newval : T)(thunk : => S) : S
Set the value of the fluid while executing the specified
thunk.
|
| Methods inherited from AnyRef | |
| getClass, hashCode, equals, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized |
| Methods inherited from Any | |
| ==, !=, isInstanceOf, asInstanceOf |
| Method Details |
def
value : T
newval - The value to which to set the fluidthunk - The code to evaluate under the new settingoverride
def
toString : String
|
Scala Library Documentation
|
|