Statistics
| Revision:

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
}