svn-gvsig-desktop / import / ext3D / branches / ext3D_v1.1 / libAnimation / src / com / iver / cit / gvsig / animation / traks / AnimationDatedTrack.java @ 15445
History | View | Annotate | Download (5.48 KB)
1 |
package com.iver.cit.gvsig.animation.traks; |
---|---|
2 |
|
3 |
import java.sql.Date; |
4 |
import java.util.ArrayList; |
5 |
import java.util.Iterator; |
6 |
import java.util.List; |
7 |
|
8 |
import com.iver.cit.gvsig.animation.IAnimationType; |
9 |
import com.iver.cit.gvsig.animation.interval.AnimationDatedInterval; |
10 |
import com.iver.cit.gvsig.animation.interval.IAnimationInterval; |
11 |
import com.iver.utiles.DateTime; |
12 |
import com.iver.utiles.XMLEntity; |
13 |
|
14 |
public class AnimationDatedTrack implements IAnimationTrack { |
15 |
|
16 |
private String Name; |
17 |
|
18 |
private String Description; |
19 |
|
20 |
// List of AnimationDateInterval
|
21 |
private List animationDateIntervalList; |
22 |
|
23 |
private IAnimationType animationType;
|
24 |
|
25 |
private Object animatedObject; |
26 |
|
27 |
private boolean enable; |
28 |
|
29 |
private String beginDateString; |
30 |
|
31 |
private String endDateString; |
32 |
|
33 |
private Date beginDate; |
34 |
|
35 |
private Date endDate; |
36 |
|
37 |
private String sFormat = new String( "Y-m-d" ); |
38 |
|
39 |
private String className; |
40 |
|
41 |
//private AnimationDatedInterval datedInterval;
|
42 |
|
43 |
public AnimationDatedTrack(IAnimationType animationType) {
|
44 |
this.animationDateIntervalList = new ArrayList(); |
45 |
this.animationType = animationType;
|
46 |
} |
47 |
|
48 |
public Date getAnimationIntervalDate() { |
49 |
return null; |
50 |
} |
51 |
|
52 |
public Object getAnimatedObject() { |
53 |
return this.animatedObject; |
54 |
} |
55 |
|
56 |
public String getDescription() { |
57 |
return this.Description; |
58 |
} |
59 |
|
60 |
public List getIntervalList() { |
61 |
return animationDateIntervalList;
|
62 |
} |
63 |
|
64 |
public String getName() { |
65 |
return this.Name; |
66 |
} |
67 |
|
68 |
public void setIntervalList(List intervalList) { |
69 |
this.animationDateIntervalList = intervalList;
|
70 |
|
71 |
} |
72 |
|
73 |
public IAnimationType getAnimationType() {
|
74 |
return this.animationType; |
75 |
} |
76 |
|
77 |
public boolean isEnable() { |
78 |
return this.enable; |
79 |
} |
80 |
|
81 |
public void setEnabale(boolean enable) { |
82 |
this.enable = enable;
|
83 |
} |
84 |
|
85 |
public Date getBeginDate() { |
86 |
return beginDate;
|
87 |
} |
88 |
|
89 |
public void setBeginDate(Date beginDate) { |
90 |
this.beginDate = beginDate;
|
91 |
} |
92 |
|
93 |
public Date getEndDate() { |
94 |
return endDate;
|
95 |
} |
96 |
|
97 |
public void setEndDate(Date endDate) { |
98 |
this.endDate = endDate;
|
99 |
} |
100 |
|
101 |
public IAnimationInterval createInterval() {
|
102 |
|
103 |
List ADIList = this.getIntervalList(); |
104 |
if (ADIList == null) { |
105 |
ADIList = new ArrayList(); |
106 |
} |
107 |
AnimationDatedInterval ADInterval = new AnimationDatedInterval();
|
108 |
ADIList.add(ADInterval); |
109 |
return ADInterval;
|
110 |
} |
111 |
|
112 |
public String toString() { |
113 |
|
114 |
String result;
|
115 |
List ADIL = this.animationDateIntervalList; |
116 |
result = "Mostrando lista de Intervalos de la track " + this.getName() |
117 |
+ ":" + this.getDescription(); |
118 |
result += "\n**********************************************";
|
119 |
result += "\nTipo de objetos que contiene "
|
120 |
+ this.getAnimationType().getClassName();
|
121 |
result += "\nNombre: " + this.getAnimationType().getName(); |
122 |
result += "\nDescripcion: " + this.getAnimationType().getName(); |
123 |
result += "\n**********************************************";
|
124 |
for (Iterator iter = ADIL.iterator(); iter.hasNext();) { |
125 |
Object element = (Object) iter.next(); |
126 |
result += "\n" + element;
|
127 |
} |
128 |
return result;
|
129 |
} |
130 |
|
131 |
public void setDescription(String description) { |
132 |
Description = description; |
133 |
} |
134 |
|
135 |
public void setName(String name) { |
136 |
Name = name;
|
137 |
} |
138 |
|
139 |
public void removeAllIntervals() { |
140 |
this.animationDateIntervalList.clear();
|
141 |
} |
142 |
|
143 |
public void removeInterval(IAnimationInterval animationInterval) { |
144 |
this.animationDateIntervalList.remove(animationInterval);
|
145 |
} |
146 |
|
147 |
public void setAnimatedObject(Object animatedObject) { |
148 |
this.animatedObject = animatedObject;
|
149 |
} |
150 |
|
151 |
public void apply(double Tini, double Tend) { |
152 |
List ADTL = this.animationDateIntervalList; |
153 |
if ((ADTL != null) && (!ADTL.isEmpty())) { |
154 |
for (int i = 0; i < ADTL.size(); i++) { |
155 |
IAnimationInterval element = (IAnimationInterval) ADTL.get(i); |
156 |
element.apply(Tini, Tend, this.getAnimationType(), this |
157 |
.getAnimatedObject()); |
158 |
} |
159 |
} |
160 |
|
161 |
} |
162 |
|
163 |
public String getClassName() { |
164 |
// TODO Auto-generated method stub
|
165 |
return this.getClass().getName(); |
166 |
} |
167 |
|
168 |
/*
|
169 |
* IPersistance methods
|
170 |
*
|
171 |
*/
|
172 |
|
173 |
public void setXMLEntity(XMLEntity xml) { |
174 |
// TODO method to do persisence to this class
|
175 |
|
176 |
if (xml.contains("class_name")) |
177 |
className = xml.getStringProperty("class_name");
|
178 |
if (xml.contains("name")) |
179 |
Name = xml.getStringProperty("name"); |
180 |
if (xml.contains("descripcion")) |
181 |
Description = xml.getStringProperty("description");
|
182 |
if (xml.contains("begin_date")) |
183 |
beginDateString = xml.getStringProperty("begin_date");
|
184 |
if (xml.contains("end_date")) |
185 |
endDateString = xml.getStringProperty("end_date");
|
186 |
|
187 |
|
188 |
// for (int i = 0; i < this.animationDateIntervalList.size(); i++) {
|
189 |
// AnimationDatedInterval datedInterval = (AnimationDatedInterval) this.animationDateIntervalList.get(i);
|
190 |
// datedInterval.setXMLEntity(xml);
|
191 |
// }
|
192 |
|
193 |
} |
194 |
|
195 |
public XMLEntity getXMLEntity() {
|
196 |
// TODO method to get persisence to this class
|
197 |
|
198 |
XMLEntity xml = new XMLEntity();
|
199 |
xml.putProperty("class_name", this.getClassName()); |
200 |
xml.putProperty("name", Name); |
201 |
xml.putProperty("description",Description );
|
202 |
|
203 |
beginDateString = DateTime.dateToString(beginDate, sFormat); |
204 |
endDateString = DateTime.dateToString(endDate, sFormat); |
205 |
|
206 |
xml.putProperty("begin_date", beginDateString);
|
207 |
xml.putProperty("end_date", endDateString);
|
208 |
|
209 |
// for (int i = 0; i < this.animationDateIntervalList.size(); i++) {
|
210 |
// AnimationDatedInterval datedInterval = (AnimationDatedInterval) this.animationDateIntervalList.get(i);
|
211 |
// datedInterval.getXMLEntity();
|
212 |
// }
|
213 |
return xml;
|
214 |
|
215 |
} |
216 |
|
217 |
} |