TROIKA.ASP - the MVC framework

SessionAdapter.js

Summary

Contains SessionAdapter class.

This is part of Troika.ASP Framework - web development MVC framework for ASP 3.0. Please visit www.troika-asp.com for more details.



Version: $Revision: 1.3 $

Author: Pavel Chuchev pav@troika-asp.com


Class Summary
SessionAdapter This class adapts the native ASP Session object to Troika.ASP Session object.

/**
* @fileoverview Contains <tt>SessionAdapter</tt> class.
*
* <p>
* This is part of Troika.ASP Framework - web development MVC framework for ASP 3.0.
* Please visit {@link http://www.troika-asp.com www.troika-asp.com} for more details.
* </p>
*
* @author Pavel Chuchev pav@troika-asp.com
* @version $Revision: 1.3 $
*/
SessionAdapter.prototype =  new HashMap();
SessionAdapter.prototype.constructor = SessionAdapter;
/**
* Constructs a new instance of <tt>SessionAdapter</tt> class.
*
* @class This class adapts the native ASP Session object to Troika.ASP Session object.
*
* @constructor
*/
function SessionAdapter() {

    this.init();
}
/**
* Initializes <tt>SessionAdapter</tt>.
*
* @return <tt>SessionAdapter</tt> object instance itself.
* @type SessionAdapter
*/
SessionAdapter.prototype.init = function () {

    HashMap.prototype.init.call(this);

    this.populate(Session.Contents);
    return this;
};
/**
* Sets session key/value pair.
*
* @param {String} key The key of the new session variable.
* @param {String} value The value.
*/
SessionAdapter.prototype.put = function (key, value) {

    if (value) {

        Session.Contents(key) = "" + value;///jslint:ignore
    }
    else {

        Session.Contents.Remove(key);
    }
};
/**
* Returns a unique id for each user. The unique id is generated by the server.
*
* @return eturns a unique id for each user.
* @type String
*/
SessionAdapter.prototype.getId = function () {

    return Session.SessionID;
};
/**
* Adds session data as raw XML as identified by special session variable "_session_data".
*
* @param {String} tag The tag to add data under.
* @param {String} xml The XML data.
*/
SessionAdapter.prototype.addSessionData = function (tag, xml) {

    var value = Session.Contents("_session_data");

    value = value ? value : "";

    value += "<" + tag + ">" + xml + "</" + tag + ">";

    this.put("_session_data", value);
};
/**
* Returns session data
*
* @return Returns session data.
* @type String
*/
SessionAdapter.prototype.getSessionData = function () {

    var sessionDataAL = this.get("_session_data");
    if (sessionDataAL) {

        var sessionData = {

        };
        sessionData._xml_ = sessionDataAL.get(0);

        this.remove("_session_data");
        return sessionData;
    }

    return undefined;
};
/**
* Removes session variable by key.
*
* @param {String} key The key to remove.
*/
SessionAdapter.prototype.remove = function (key) {

    Session.Contents.Remove(key);
};
/**
* Destroys a user session
*/
SessionAdapter.prototype.abandon = function () {

    Session.Abandon();
};

TROIKA.ASP - the MVC framework

www.troika-asp.com
Documentation generated on Sun Jun 15 17:59:32 2008