-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathWebServiceSaver3.as
More file actions
123 lines (98 loc) · 2.84 KB
/
WebServiceSaver3.as
File metadata and controls
123 lines (98 loc) · 2.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/***Version 2 : from now , this class will get original object and it will return original Object on load time*/
package webService3
{
import contents.Contents;
import dataManager.SavedDatas2;
import flash.utils.ByteArray;
import flash.utils.getQualifiedClassName;
import flash.utils.getTimer;
public class WebServiceSaver3
{
private static var currentIndex1:String = "";
private static var currentIndex2:String = "";
public static function changeGlobalIndex1(newIndex:String='')
{
if(newIndex!='')
{
currentIndex1 = newIndex+"_" ;
}
else
{
currentIndex1 = '';
}
}
public static function changeGlobalIndex2(newIndex:String='')
{
if(newIndex!='')
{
currentIndex2 = newIndex+"_" ;
}
else
{
currentIndex2 = '';
}
}
/**version 2*/
public static function load(ClassObject:Object,Parameters:Array,requiredDate:Date=null):Object
{
var valueName:String = currentIndex1+currentIndex2+generateID(ClassObject,Parameters) ;
/*var loadedString:String = SavedDatas2.load(valueName) ;
if(loadedString == null)
{
trace("no data is saved befor");
return null;
}*/
var foundedObject:Object ;
//trace("id is : "+valueName);
var ba:ByteArray = SavedDatas2.loadIfNewer(valueName,requiredDate) ;
//ba.writeUTF(loadedString);
try
{
ba.position = 0 ;
foundedObject = ba.readObject();
}
catch(e)
{
trace("un tracable object");
return null;
};
return foundedObject ;
}
/*public static function load(ClassObject:Object,Parameters:Array):String
{
var valueName:String = currentIndex1+currentIndex2+generateID(ClassObject,Parameters) ;
return SavedDatas2.load(valueName) ;
}*/
/**version 2*/
public static function save(ClassObject:Object,Parameters:Array,object:Object):void
{
//Debug lines to controll performance
//return ;
var ba:ByteArray = new ByteArray();
var tim:Number = getTimer();
ba.writeObject(object);
ba.position = 0 ;
var valueName:String = currentIndex1+currentIndex2+generateID(ClassObject,Parameters);
//trace("Save my datas : "+valueName);
SavedDatas2.save(valueName,ba);
}
/*public static function save(ClassObject:Object,Parameters:Array,value:String):void
{
//Debug lines to controll performance
//return ;
var valueName:String = currentIndex1+currentIndex2+generateID(ClassObject,Parameters);
SavedDatas2.save(valueName,value);
}*/
private static function generateID(ClassObject:Object,Parameters:Array):String
{
var className:String = getQualifiedClassName(ClassObject) ;
className = className.substring(className.lastIndexOf('::')+2);
var paramVaue:String = '' ;
if(Parameters!=null)
{
paramVaue = Parameters.join('*');
}
return className+':'+paramVaue+':'+myWebService3.IP;
}
}
}