1 /*
2 * Scope: a generic MVC framework.
3 * Copyright (c) 2000-2002, The Scope team
4 * All rights reserved.
5 *
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 *
11 * Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 *
14 * Redistributions in binary form must reproduce the above copyright
15 * notice, this list of conditions and the following disclaimer in the
16 * documentation and/or other materials provided with the distribution.
17 *
18 * Neither the name "Scope" nor the names of its contributors
19 * may be used to endorse or promote products derived from this software
20 * without specific prior written permission.
21 *
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
27 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 *
35 *
36 * $Id: WorkItemModel.java,v 1.4 2002/09/05 15:41:50 ludovicc Exp $
37 */
38 package samples.swing.timesheet.model;
39
40 import org.scopemvc.core.Selector;
41 import org.scopemvc.model.basic.BasicModel;
42 import org.scopemvc.util.DateTime;
43 import org.scopemvc.util.Time;
44
45 /***
46 * <p>
47 *
48 * A single item of work.</p>
49 *
50 * @author <a href="mailto:steve.jones@netdecisions.co.uk>Steve Jones</a>
51 * @created 05 September 2002
52 * @since Scope v0.8
53 * @version $Revision: 1.4 $ $Date: 2002/09/05 15:41:50 $
54 */
55 public class WorkItemModel extends BasicModel {
56
57 /***
58 * TODO: describe of the Field
59 */
60 public final static Selector PROJECT = Selector.fromString("project");
61 /***
62 * TODO: describe of the Field
63 */
64 public final static Selector START = Selector.fromString("start");
65 /***
66 * TODO: describe of the Field
67 */
68 public final static Selector DURATION = Selector.fromString("duration");
69
70 private String project;
71 private DateTime start;
72 private Time duration;
73
74 /***
75 * Constructor for the WorkItemModel object
76 *
77 * @param project TODO: Describe the Parameter
78 * @param start TODO: Describe the Parameter
79 * @param duration TODO: Describe the Parameter
80 */
81 public WorkItemModel(String project, DateTime start, Time duration) {
82 this.project = project;
83 this.start = start;
84 this.duration = duration;
85 }
86
87 /***
88 * Gets the project
89 *
90 * @return The project value
91 */
92 public String getProject() {
93 return project;
94 }
95
96 /***
97 * Gets the start
98 *
99 * @return The start value
100 */
101 public DateTime getStart() {
102 return start;
103 }
104
105 /***
106 * Gets the duration
107 *
108 * @return The duration value
109 */
110 public Time getDuration() {
111 return duration;
112 }
113
114 /***
115 * Sets the project
116 *
117 * @param project The new project value
118 */
119 public void setProject(String project) {
120 this.project = project;
121 fireModelChange(VALUE_CHANGED, PROJECT);
122 }
123
124 /***
125 * Sets the start
126 *
127 * @param start The new start value
128 */
129 public void setStart(DateTime start) {
130 this.start = start;
131 fireModelChange(VALUE_CHANGED, START);
132
133 }
134
135 /***
136 * Sets the duration
137 *
138 * @param duration The new duration value
139 */
140 public void setDuration(Time duration) {
141 this.duration = duration;
142 fireModelChange(VALUE_CHANGED, DURATION);
143 }
144
145 /***
146 * Increase the duration of the work item
147 */
148 public void incrementDuration() {
149 this.duration.setTime(System.currentTimeMillis() - this.start.getTime());
150 fireModelChange(VALUE_CHANGED, DURATION);
151 }
152
153 }
This page was automatically generated by Maven