Packageweavejs.core
Classpublic class SessionManager
InheritanceSessionManager Inheritance Object
Implements ISessionManager

This is a collection of core functions in the Weave session framework.



Public Properties
 PropertyDefined By
  debugUnbusy : Boolean = false
[static]
SessionManager
Public Methods
 MethodDefined By
  
addTreeCallback(relevantContext:Object, groupedCallback:Function, triggerCallbackNow:Boolean = false):void
Adds a grouped callback that will be triggered when the session state tree changes.
SessionManager
  
assignBusyTask(taskToken:Object, busyObject:ILinkableObject):void
SessionManager
  
combineDiff(baseDiff:Object, diffToAdd:Object):Object
SessionManager
  
computeDiff(oldState:Object, newState:Object):*
SessionManager
  
SessionManager
  
disposeObject(object:Object):void
SessionManager
  
This function will add or remove child objects from the session state of a parent.
SessionManager
  
SessionManager
  
getLinkableDescendants(root:ILinkableObject, filter:Class = null):Array
SessionManager
  
SessionManager
  
SessionManager
  
getLinkablePropertyNames(linkableObject:ILinkableObject, filtered:Boolean = false):Array
This function gets a list of sessioned property names so accessor functions for non-sessioned properties do not have to be called.
SessionManager
  
SessionManager
  
getOwner(child:Object):Object
SessionManager
  
getPath(root:ILinkableObject, descendant:ILinkableObject):Array
SessionManager
  
getSessionState(linkableObject:ILinkableObject):Object
SessionManager
  
SessionManager
  
Gets a session state tree where each node is a DynamicState object.
SessionManager
  
linkableObjectIsBusy(linkableObject:ILinkableObject):Boolean
SessionManager
  
SessionManager
  
newDisposableChild(disposableParent:Object, disposableChildType:Class):*
SessionManager
  
newLinkableChild(linkableParent:Object, linkableChildType:Class, callback:Function = null, useGroupedCallback:Boolean = false):*
SessionManager
  
objectWasDisposed(object:Object):Boolean
SessionManager
  
registerDisposableChild(disposableParent:Object, disposableChild:Object):*
SessionManager
  
registerLinkableChild(linkableParent:Object, linkableChild:ILinkableObject, callback:Function = null, useGroupedCallback:Boolean = false):*
SessionManager
  
removeTreeCallback(relevantContext:Object, groupedCallback:Function):void
SessionManager
  
setSessionState(linkableObject:ILinkableObject, newState:Object, removeMissingDynamicObjects:Boolean = true):void
SessionManager
  
testDiff():void
SessionManager
  
traverseAndSetState(state:Object, mapping:Object, removeMissingDynamicObjects:Boolean = true):void
[static] Uses DynamicState.traverseState() to traverse a state and copy portions of the state to ILinkableObjects.
SessionManager
  
unassignBusyTask(taskToken:Object):void
SessionManager
  
SessionManager
  
Use this function with care.
SessionManager
Public Constants
 ConstantDefined By
  DEPRECATED_PATH_REWRITE : String = deprecatedPathRewrite
[static]
SessionManager
  DEPRECATED_STATE_MAPPING : String = deprecatedStateMapping
[static]
SessionManager
  DIFF_DELETE : String = delete
[static] Computing diffs
SessionManager
Property Detail
debugUnbusyproperty
public static var debugUnbusy:Boolean = false

Method Detail
addTreeCallback()method
public function addTreeCallback(relevantContext:Object, groupedCallback:Function, triggerCallbackNow:Boolean = false):void

Adds a grouped callback that will be triggered when the session state tree changes. USE WITH CARE. The groupedCallback should not run computationally-expensive code.

Parameters

relevantContext:Object
 
groupedCallback:Function
 
triggerCallbackNow:Boolean (default = false)

assignBusyTask()method 
public function assignBusyTask(taskToken:Object, busyObject:ILinkableObject):void

Parameters

taskToken:Object
 
busyObject:ILinkableObject

combineDiff()method 
public function combineDiff(baseDiff:Object, diffToAdd:Object):Object

Parameters

baseDiff:Object
 
diffToAdd:Object

Returns
Object
computeDiff()method 
public function computeDiff(oldState:Object, newState:Object):*

Parameters

oldState:Object
 
newState:Object

Returns
*
copySessionState()method 
public function copySessionState(source:ILinkableObject, destination:ILinkableObject):void

Parameters

source:ILinkableObject
 
destination:ILinkableObject

disposeObject()method 
public function disposeObject(object:Object):void

Parameters

object:Object

excludeLinkableChildFromSessionState()method 
public function excludeLinkableChildFromSessionState(parent:ILinkableObject, child:ILinkableObject):void

This function will add or remove child objects from the session state of a parent. Use this function with care because the child will no longer be "sessioned." The child objects will continue to trigger the callbacks of the parent object, but they will no longer be considered a part of the parent's session state. If you are not careful, this will break certain functionalities that depend on the session state of the parent.

Parameters

parent:ILinkableObject — A parent that the specified child objects were previously registered with.
 
child:ILinkableObject — The child object to remove from the session state of the parent.

getCallbackCollection()method 
public function getCallbackCollection(linkableObject:ILinkableObject):ICallbackCollection

Parameters

linkableObject:ILinkableObject

Returns
ICallbackCollection
getLinkableDescendants()method 
public function getLinkableDescendants(root:ILinkableObject, filter:Class = null):Array

Parameters

root:ILinkableObject
 
filter:Class (default = null)

Returns
Array
getLinkableObjectFromCallbackCollection()method 
public function getLinkableObjectFromCallbackCollection(callbackCollection:ICallbackCollection):ILinkableObject

Parameters

callbackCollection:ICallbackCollection

Returns
ILinkableObject
getLinkableOwner()method 
public function getLinkableOwner(child:ILinkableObject):ILinkableObject

Parameters

child:ILinkableObject

Returns
ILinkableObject
getLinkablePropertyNames()method 
public function getLinkablePropertyNames(linkableObject:ILinkableObject, filtered:Boolean = false):Array

This function gets a list of sessioned property names so accessor functions for non-sessioned properties do not have to be called.

Parameters

linkableObject:ILinkableObject — An object containing sessioned properties.
 
filtered:Boolean (default = false) — If set to true, filters out excluded properties.

Returns
Array — An Array containing the names of the sessioned properties of that object class.
getObject()method 
public function getObject(root:ILinkableObject, path:Array):ILinkableObject

Parameters

root:ILinkableObject
 
path:Array

Returns
ILinkableObject
getOwner()method 
public function getOwner(child:Object):Object

Parameters

child:Object

Returns
Object
getPath()method 
public function getPath(root:ILinkableObject, descendant:ILinkableObject):Array

Parameters

root:ILinkableObject
 
descendant:ILinkableObject

Returns
Array
getSessionState()method 
public function getSessionState(linkableObject:ILinkableObject):Object

Parameters

linkableObject:ILinkableObject

Returns
Object
getSessionStateTree()method 
public function getSessionStateTree(root:ILinkableObject, objectName:String):WeaveTreeItem

Parameters

root:ILinkableObject — The linkable object to be placed at the root node of the tree.
 
objectName:String — The label for the root node.

Returns
WeaveTreeItem — A tree of nodes with the properties "data", "label", "children"
getTypedStateTree()method 
public function getTypedStateTree(root:ILinkableObject):Object

Gets a session state tree where each node is a DynamicState object.

Parameters

root:ILinkableObject

Returns
Object
linkableObjectIsBusy()method 
public function linkableObjectIsBusy(linkableObject:ILinkableObject):Boolean

Parameters

linkableObject:ILinkableObject

Returns
Boolean
linkSessionState()method 
public function linkSessionState(primary:ILinkableObject, secondary:ILinkableObject):void

Parameters

primary:ILinkableObject
 
secondary:ILinkableObject

newDisposableChild()method 
public function newDisposableChild(disposableParent:Object, disposableChildType:Class):*

Parameters

disposableParent:Object
 
disposableChildType:Class

Returns
*
newLinkableChild()method 
public function newLinkableChild(linkableParent:Object, linkableChildType:Class, callback:Function = null, useGroupedCallback:Boolean = false):*

Parameters

linkableParent:Object
 
linkableChildType:Class
 
callback:Function (default = null)
 
useGroupedCallback:Boolean (default = false)

Returns
*
objectWasDisposed()method 
public function objectWasDisposed(object:Object):Boolean

Parameters

object:Object

Returns
Boolean
registerDisposableChild()method 
public function registerDisposableChild(disposableParent:Object, disposableChild:Object):*

Parameters

disposableParent:Object
 
disposableChild:Object

Returns
*
registerLinkableChild()method 
public function registerLinkableChild(linkableParent:Object, linkableChild:ILinkableObject, callback:Function = null, useGroupedCallback:Boolean = false):*

Parameters

linkableParent:Object
 
linkableChild:ILinkableObject
 
callback:Function (default = null)
 
useGroupedCallback:Boolean (default = false)

Returns
*
removeTreeCallback()method 
public function removeTreeCallback(relevantContext:Object, groupedCallback:Function):void

Parameters

relevantContext:Object
 
groupedCallback:Function

setSessionState()method 
public function setSessionState(linkableObject:ILinkableObject, newState:Object, removeMissingDynamicObjects:Boolean = true):void

Parameters

linkableObject:ILinkableObject
 
newState:Object
 
removeMissingDynamicObjects:Boolean (default = true)

testDiff()method 
public function testDiff():void

traverseAndSetState()method 
public static function traverseAndSetState(state:Object, mapping:Object, removeMissingDynamicObjects:Boolean = true):void

Uses DynamicState.traverseState() to traverse a state and copy portions of the state to ILinkableObjects.

Parameters

state:Object — A session state
 
mapping:Object — A structure that defines the traversal, where the leaf nodes are ILinkableObjects or Functions to call. Functions should have the following signature: function(state:Object, removeMissingDynamicObjects:Boolean = true):void
 
removeMissingDynamicObjects:Boolean (default = true)

unassignBusyTask()method 
public function unassignBusyTask(taskToken:Object):void

Parameters

taskToken:Object

unlinkSessionState()method 
public function unlinkSessionState(first:ILinkableObject, second:ILinkableObject):void

Parameters

first:ILinkableObject
 
second:ILinkableObject

unregisterLinkableChild()method 
public function unregisterLinkableChild(parent:ILinkableObject, child:ILinkableObject):void

Use this function with care. This will remove child objects from the session state of a parent and stop the child from triggering the parent callbacks.

Parameters

parent:ILinkableObject — A parent that the specified child objects were previously registered with.
 
child:ILinkableObject — The child object to unregister from the parent.

Constant Detail
DEPRECATED_PATH_REWRITEConstant
public static const DEPRECATED_PATH_REWRITE:String = deprecatedPathRewrite

DEPRECATED_STATE_MAPPINGConstant 
public static const DEPRECATED_STATE_MAPPING:String = deprecatedStateMapping

DIFF_DELETEConstant 
public static const DIFF_DELETE:String = delete

Computing diffs