⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datacache.js

📁 JSVM核心类库,收集了JAVA进行JSVM开发必用技术进行归纳,在实际项目应用中直接引用相关类库即可现实JSVM相关功能!
💻 JS
字号:
// Description:	js.io.DataCache 类 用户在客户端的数据存储对象
// Author:	Changhua.Wan
// Version:	2004.03.06.01

_package("js.io");

_import("js.io.UserData");
_import("js.util.Hashtable");

function js.io.DataCache(name) {

	js.io.DataCache._base.call(this);
	this.name = name;
	var cache1 = new js.util.Hashtable();
	var cache2 = new function() {
		var ud = js.io.UserData.getInstance(this.className + "[" + name + "]");
		var lm = ud.getStringValue("Last-Modified");
		if (lm == null) {
			ud.setStringValue("Last-Modified", new Date().getTime());
			ud.save();
		}
		this.get = function(_name) {
			var _value = ud.getStringValue(_name);
			return _value;
		};
		this.put = function(_name, _value) {
			ud.setStringValue(_name, _value);
			ud.save();
		};
		this.remove = function(_name) {
			ud.remove(_name);
			ud.save();
		};
		this.clear = function() {
			ud.removeAll();
			ud.save();
		};
	}
	this.get = function(_name) {
		var _value = cache1.get(_name);
		if (_value != null) return _value;
		_value = cache2.get(_name);
		cache1.put(_name, _value);
		return _value;
	};
	this.put = function(_name, _value) {
		cache1.put(_name, _value);
		cache2.put(_name, _value);
	};
	this.remove = function(_name) {
		cache1.remove(_name);
		cache2.remove(_name);
	};
	this.clear = function() {
		cache1.clear();	
		cache2.clear();
	};
};

var _p = js.io.DataCache._extends("js.lang.Object");

js.io.DataCache.map = new js.util.Hashtable(); // DataCache 池定义
js.io.DataCache.getInstance = function(name) {
	try {
		var map = js.io.DataCache.map;
		if (typeof(name) == "undefined") name = "instance";
		if (!map.containsKey(name))
			map.put(name, new js.io.DataCache(name));
		var ud = map.get(name);
		return ud;
	} catch(ex) {
		return null;
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -