net.liftweb.http

ContainerVar

abstract class ContainerVar[T] extends util.AnyVar[T, ContainerVar[T]] with LazyLoggable

A typesafe container for data with a lifetime nominally equivalent to the lifetime of HttpSession attributes. This alternative to SessionVar keeps data in the container's session and must be serializable to support session migration. Use SessionVars unless you are using MigratoryLiftSessions.

object MySnippetCompanion { object mySessionVar extends ContainerVar[String]("hello") }

The standard pattern is to create a singleton object extending ContainerVar instead of creating an instance variable of a concrete ContainerVar subclass. This is preferred because ContainerVar will use the name of its instantiating class for part of its state maintenance mechanism.

If you find it necessary to create a ContainerVar subclass of which there may be more than one instance, it is necessary to override the nameSalt() method to return a unique salt value for each instance to prevent name collisions.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ContainerVar
  2. LazyLoggable
  3. AnyVar
  4. AnyVarTrait
  5. HasCalcDefaultValue
  6. PSettableValueHolder
  7. SettableValueHolder
  8. Settable
  9. PValueHolder
  10. ValueHolder
  11. AnyRef
  12. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ContainerVar(dflt: ⇒ T)(implicit containerSerializer: ContainerSerializer[T])

    dflt

    - the default value to be returned if none was set prior to requesting a value to be returned from the container

    containerSerializer

    -- an implicit parameter that keeps us honest about only storing things that can be actually serialized. Lift provides a subset of these.

Type Members

  1. type CleanUpParam = LiftSession

    Definition Classes
    ContainerVarAnyVarTrait
  2. type ValueType = T

    Definition Classes
    PValueHolderValueHolder

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. def __nameSalt: String

    Attributes
    protected
    Definition Classes
    AnyVarTrait
  7. def apply(what: T): T

    Set the session variable

    Set the session variable

    what

    -- the value to set the session variable to

    Definition Classes
    AnyVarTrait
  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def atomicUpdate(f: (ValueType) ⇒ ValueType): ValueType

    Perform an atomic update of this Settable.

    Perform an atomic update of this Settable. The current value is passed to the function and the ValueHolder is set to the result of the function. This is enclosed in the performAtomicOperation method which will, by default, synchronize this instance

    Definition Classes
    Settable
  10. def calcDefaultValue: T

    Attributes
    protected
    Definition Classes
    AnyVarAnyVarTraitHasCalcDefaultValue
  11. def clearFunc(name: String): Unit

    Attributes
    protected
    Definition Classes
    ContainerVarAnyVarTrait
  12. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. def doSync[F](f: ⇒ F): F

    Different Vars require different mechanisms for synchronization.

    Different Vars require different mechanisms for synchronization. This method implements the Var specific synchronization mechanism.

    In the case of ContainerVar, we don't need to do any explicit synchronization. Values are stored in the HttpSession, which already gives us atomic get and set operations.

    Definition Classes
    ContainerVarAnyVarTrait
  14. def doWith[F](newVal: T)(f: ⇒ F): F

    Change the value of the Var for the lifespan of the function

    Change the value of the Var for the lifespan of the function

    Definition Classes
    AnyVarTrait
  15. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. def findFunc(name: String): Box[T]

    Attributes
    protected
    Definition Classes
    ContainerVarAnyVarTrait
  19. def get: T

    Shadow of the 'is' method

    Shadow of the 'is' method

    Definition Classes
    AnyVarTraitValueHolder
  20. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  22. def is: T

    The current value of the variable

    The current value of the variable

    Definition Classes
    AnyVarTraitValueHolder
  23. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  24. lazy val logger: Logger

    Attributes
    protected
    Definition Classes
    LazyLoggable
  25. lazy val name: String

    Attributes
    protected
    Definition Classes
    AnyVarTrait
  26. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  27. final def notify(): Unit

    Definition Classes
    AnyRef
  28. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  29. def onShutdown(session: CleanUpParam): Unit

    Attributes
    protected
    Definition Classes
    AnyVarTrait
  30. def performAtomicOperation[T](f: ⇒ T): T

    Perform an atomic operation on the Settable.

    Perform an atomic operation on the Settable. By default synchronizes the instance, but it could use other mechanisms

    Definition Classes
    Settable
  31. def registerCleanupFunc(in: (LiftSession) ⇒ Unit): Unit

    Attributes
    protected
    Definition Classes
    ContainerVarAnyVarTrait
  32. final def registerGlobalCleanupFunc(in: (CleanUpParam) ⇒ Unit): Unit

    Attributes
    protected
    Definition Classes
    AnyVarTrait
  33. def remove(): Unit

    Definition Classes
    AnyVarTrait
  34. def set(what: T): T

    Shadow of the apply method

    Shadow of the apply method

    Definition Classes
    AnyVarTraitSettable
  35. def setFunc(name: String, value: T): Unit

    Attributes
    protected
    Definition Classes
    ContainerVarAnyVarTrait
  36. def setIsUnset(value: ⇒ T): T

    Set the Var if it has not been calculated

    Set the Var if it has not been calculated

    Definition Classes
    AnyVarTrait
  37. def set_?: Boolean

    Has this Var been set or accessed and had its default value calculated

    Has this Var been set or accessed and had its default value calculated

    Definition Classes
    AnyVarTrait
  38. def settingDefault_?: Boolean

    Attributes
    protected
    Definition Classes
    AnyVarTrait
  39. def showWarningWhenAccessedOutOfSessionScope_?: Boolean

  40. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  41. def testWasSet(name: String, bn: String): Boolean

    A non-side-effecting test if the value was initialized

    A non-side-effecting test if the value was initialized

    Attributes
    protected
    Definition Classes
    ContainerVarAnyVarTrait
  42. def toString(): String

    Definition Classes
    AnyVarTrait → AnyRef → Any
  43. def update(f: (T) ⇒ T): T

    Applies the given function to the contents of this variable and sets the variable to the resulting value.

    Applies the given function to the contents of this variable and sets the variable to the resulting value.

    f

    -- the function to apply and set the result from.

    Definition Classes
    AnyVarTrait
  44. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  47. def wasInitialized(name: String, bn: String): Boolean

    Attributes
    protected
    Definition Classes
    ContainerVarAnyVarTrait

Inherited from LazyLoggable

Inherited from util.AnyVar[T, ContainerVar[T]]

Inherited from AnyVarTrait[T, ContainerVar[T]]

Inherited from HasCalcDefaultValue[T]

Inherited from PSettableValueHolder[T]

Inherited from SettableValueHolder

Inherited from Settable

Inherited from PValueHolder[T]

Inherited from ValueHolder

Inherited from AnyRef

Inherited from Any

Ungrouped