Utilisation d'un SharedObject

Tagged:

Les SharedObject, permettent de stoquer localement quelque chose qui pourra être réutilisé plus tard ... Une sorte de persistence ...

Prenon le cas d'une TodoList ... Créons une classe TodoItem :

function TodoItem (id:Number, todo:String) {
	this.id = id;
	this.todo = todo;
}

J'adore quand c'est compliqué ... pas la peine de mettre des getters et setters, on perd du temps (l'IDE n'a rien de prévu pour nous faciliter la tâche ... C'est pas Eclipse non plus ...) et de toute façon les SharedObject ne stoquent que les données et pas les fonctions ... alors après il faut prévoir de reconstruire les données contenue par les SharedObject et pour avoir essayé, on se dit "Au diable les varices" et on utilise un pur conteneur organisé de données : Une structure !!

Bref ensuite il nous faut la classe todolist ... Celle qui va gérer le shared object ...

function TodoList() {
	this.so = SharedObject.getLocal("todolist");
	
	if (typeof(this.so.data.todolist) == "undefined") {
		this.reset();
	} 
	
}
 
TodoList.prototype.getNextId = function():Number {
	return this.so.data.id ++;
}
 
TodoList.prototype.addTodoItem = function(item):Void {
	this.so.data.todolist["id-"+ item.id ] = item;
}
 
TodoList.prototype.getItems = function():Object {
	return this.so.data.todolist;
}
 
TodoList.prototype.reset = function():Void {
	this.so.clear();
	this.so.data.todolist = new Object();
	this.so.data.id = 0;
}
 
TodoList.prototype.setTodoItem = function(id:Number, item):Void {
	item.id = id;
	this.so.data.todolist["id-" + id] = item;
}

En fait c'est simple quand on regarde ... On récupère le SharedObject avec la methode getLocal et un identifiant, toutes les données qu'il garde se trouve dans la partie data du SharedObject, l'éffacer c'est la méthode clear() et voili ...

Je suis en train de faire l'interface graphique qui va bien avec ... je vous en ferai part dès qu'elle est finie ... Je suis pas très graphiste alors bon ... ce sera très sommaire ...