From ef68436ac04da078ffdcacd7e1f785473a303d45 Mon Sep 17 00:00:00 2001 From: Giulio Cesare Solaroli Date: Sun, 02 Oct 2011 23:56:18 +0000 Subject: First version of the newly restructured repository --- (limited to 'frontend/gamma/js/Clipperz/KeyValueObjectStore.js') diff --git a/frontend/gamma/js/Clipperz/KeyValueObjectStore.js b/frontend/gamma/js/Clipperz/KeyValueObjectStore.js new file mode 100644 index 0000000..04beb85 --- a/dev/null +++ b/frontend/gamma/js/Clipperz/KeyValueObjectStore.js @@ -0,0 +1,176 @@ +/* + +Copyright 2008-2011 Clipperz Srl + +This file is part of Clipperz's Javascript Crypto Library. +Javascript Crypto Library provides web developers with an extensive +and efficient set of cryptographic functions. The library aims to +obtain maximum execution speed while preserving modularity and +reusability. +For further information about its features and functionalities please +refer to http://www.clipperz.com + +* Javascript Crypto Library is free software: you can redistribute + it and/or modify it under the terms of the GNU Affero General Public + License as published by the Free Software Foundation, either version + 3 of the License, or (at your option) any later version. + +* Javascript Crypto Library is distributed in the hope that it will + be useful, but WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU Affero General Public License for more details. + +* You should have received a copy of the GNU Affero General Public + License along with Javascript Crypto Library. If not, see + . + +*/ + +if (typeof(Clipperz) == 'undefined') { Clipperz = {}; } + +//############################################################################# + +Clipperz.KeyValueObjectStore = function(args) { + args = args || {}; + +// this._name = args['name'] || "unnamed KeyValueObjectStore"; + this._values = args['values'] || {}; +// this._referenceObjectStore = null; +//console.log("new KeyValueObjectStore", args, this._values); + + return this; +} + +Clipperz.KeyValueObjectStore.prototype = MochiKit.Base.update(null, { + + 'values': function() { + return this._values; + }, + + 'initWithValues': function (someValues) { + this._values = Clipperz.Base.deepClone(someValues) || {}; + return this; + }, + + 'setValues': function (someValues) { +//console.log("KeyValueObjectStore.setValues", someValues); + this._values = someValues; + return this; + }, + +// 'initWithObjectStore': function (anObjectStore) { +// this._referenceObjectStore = anObjectStore; +// }, + + 'removeAllData': function () { + this._values = {}; + }, + + //------------------------------------------------------------------------- + + 'getValue': function(aKeyPath) { + var result; + var keys; + var i,c; + + result = this.values(); + + keys = (aKeyPath + '').split('.'); + c = keys.length; + i = 0; + + while ((i>> KeyValueObjectStore.setValue", this, this.values(), aKeyPath, aValue); + targetObject = this.values(); + keys = (aKeyPath + '').split('.'); + c = keys.length - 1; + for (i=0; i