Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/arranger/jarl/base/BaseTimedJarlObject.java


1   package com.arranger.jarl.base;
2   
3   import com.arranger.jarl.util.JarlInfoUtil;
4   import com.arranger.jarl.util.ObjectUtil;
5   
6   /**
7    * BaseTimedJarlObject created on Mar 21, 2003
8    */
9   public abstract class BaseTimedJarlObject extends BaseJarlObject implements ITimedJarlObject {
10  
11      protected Time m_startTime;
12      protected Time m_endTime;
13      protected Time m_totalTime;
14  
15      /**
16       * @return get start time
17       */
18      public Time getStartTime() {
19          return m_startTime;
20      }
21  
22      /**
23       * @return get end time
24       */
25      public Time getEndTime() {
26          return m_endTime;
27      }
28  
29      /**
30       * @param time to start
31       */
32      public void setStartTime(Time time) {
33          m_startTime = time;
34          m_totalTime = null;
35      }
36  
37      /**
38       * @param time to end
39       */
40      public void setEndTime(Time time) {
41          m_endTime = time;
42          m_totalTime = null;
43      }
44  
45      /**
46       * @return {@link #getEndTime} - {@link #getStartTime}
47       */
48      public Time getTotalTime() {
49          if (m_totalTime == null) {
50              m_totalTime = new Time(getEndTime().getFrame() - getStartTime().getFrame());
51          }
52          return m_totalTime;
53      }
54  
55      protected void initAttributes(IContext context) {
56          super.initAttributes(context);
57          ObjectUtil.initializeField("startTime", m_configElement, this, ObjectUtil.TIME_CONVERSION);
58          ObjectUtil.initializeField("endTime", m_configElement, this, ObjectUtil.TIME_CONVERSION);
59      }
60  
61      protected void addJarlObjectInfo(IJarlObjectInfo jarlObjectInfo) {
62          super.addJarlObjectInfo(jarlObjectInfo);
63          populateInfo(jarlObjectInfo, "startTime", "StartTime", JarlInfoUtil.TIME_DISPLAY);
64          populateInfo(jarlObjectInfo, "endTime", "EndTime", JarlInfoUtil.TIME_DISPLAY);
65      }
66  
67      protected void checkTime(Time time) {
68          if (getStartTime().isGreater(time) ||
69              getEndTime().isLess(time)) {
70              throw new IllegalStateException("Illegal time check: [currentTime, startTime, endTime]: [" +
71                  time.toString() + ", " +
72                  getStartTime().toString() + ", " +
73                  getEndTime().toString() + "]");
74          }
75      }
76  }