org.abora.gold.xpp.fluid
Class FluidVar

java.lang.Object
  |
  +--org.abora.gold.java.AboraHeaper
        |
        +--org.abora.gold.xpp.fluid.FluidVar
Direct Known Subclasses:
FluidPromiseVar

public class FluidVar
extends AboraHeaper


Field Summary
protected  Emulsion myEmulsion
           
protected  BlockClosure myInitBlock
           
protected  Symbol myName
           
protected  java.lang.Integer myOffset
           
protected  java.lang.Class myType
           
 
Fields inherited from class org.abora.gold.java.AboraHeaper
ActiveClubs, CurrentAuthor, CurrentBertCanopyCache, CurrentBertCrum, CurrentChunk, CurrentGrandMap, CurrentKeyMaster, CurrentPacker, CurrentSensorCanopyCache, CurrentServer, CurrentSession, CurrentSessions, CurrentTrace, InitialEditClub, InitialOwner, InitialReadClub, InitialSponsor, InsideTransactionFlag
 
Constructor Summary
FluidVar(BlockClosure initialBlock, Emulsion emulsion, Symbol name, java.lang.Class classx)
          This create the first fluid variable within the emulsion
 
Method Summary
static void cleanup(Symbol varName)
          If there is a fluidVar by the given name, set its value to nil
static void cleanupGarbage()
          Reset all fluid variables to their initial states.
 void emulsion()
           
 void fluidBindDuring(java.lang.Object value, java.lang.Object dynamicBlock)
          Take on new definition during execution of a block, and assure that old value is restored.
For the benefit of smalltalk only code that may want to use this in an expression, the
result of the block evaluation is returned.
 void fluidFetch()
          Return the fluidly bound value.
 void fluidGet()
          Return the fluidly bound value.
 void fluidSet(java.lang.Object newValue)
          self == CurrentPacker ifTrue: [self halt].
 void fluidVar()
          Return the fluidly bound value.
 void goAway()
           
 void init()
          called by Emulsion fluidsSpace when a new space is acquired
 java.lang.Object initialValue()
           
static Heaper make(java.lang.String varName)
           
static Heaper make(java.lang.String varName, BlockClosure initialValueBlock, Emulsion emulsion, java.lang.Class classx)
           
static Heaper make(java.lang.String varName, Heaper initialValue)
           
 void printOn(java.lang.Object aStream)
           
 
Methods inherited from class org.abora.gold.java.AboraHeaper
asOop, basicInspect, displayString, error, hack, halt, inspect, knownBug, mightNotImplement, REQUIRES, shouldImplement, shouldNotImplement, stubbleForSubclassResponsibility, thingToDo, willNotImplement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myInitBlock

protected BlockClosure myInitBlock

myEmulsion

protected Emulsion myEmulsion

myOffset

protected java.lang.Integer myOffset

myName

protected Symbol myName

myType

protected java.lang.Class myType
Constructor Detail

FluidVar

public FluidVar(BlockClosure initialBlock,
                Emulsion emulsion,
                Symbol name,
                java.lang.Class classx)
This create the first fluid variable within the emulsion

Method Detail

emulsion

public void emulsion()

fluidVar

public void fluidVar()
Return the fluidly bound value.


fluidBindDuring

public void fluidBindDuring(java.lang.Object value,
                            java.lang.Object dynamicBlock)
Take on new definition during execution of a block, and assure that old value is restored.
For the benefit of smalltalk only code that may want to use this in an expression, the
result of the block evaluation is returned.


fluidFetch

public void fluidFetch()
Return the fluidly bound value.


fluidGet

public void fluidGet()
Return the fluidly bound value.


fluidSet

public void fluidSet(java.lang.Object newValue)
self == CurrentPacker ifTrue: [self halt].


init

public void init()
called by Emulsion fluidsSpace when a new space is acquired


initialValue

public java.lang.Object initialValue()

printOn

public void printOn(java.lang.Object aStream)

goAway

public void goAway()

cleanup

public static void cleanup(Symbol varName)
If there is a fluidVar by the given name, set its value to nil


cleanupGarbage

public static void cleanupGarbage()
Reset all fluid variables to their initial states.


make

public static Heaper make(java.lang.String varName,
                          BlockClosure initialValueBlock,
                          Emulsion emulsion,
                          java.lang.Class classx)

make

public static Heaper make(java.lang.String varName)

make

public static Heaper make(java.lang.String varName,
                          Heaper initialValue)


Translation - Copyright © 2003 David G Jones. All Rights Reserved.
Original Udanax-Gold - Copyright © 1979-1999 Udanax.com. All rights reserved.