001: /**********************************************************************************
002: * $URL:https://source.sakaiproject.org/svn/osp/trunk/matrix/api/src/java/org/theospi/portfolio/matrix/model/Scaffolding.java $
003: * $Id:Scaffolding.java 9134 2006-05-08 20:28:42Z chmaurer@iupui.edu $
004: ***********************************************************************************
005: *
006: * Copyright (c) 2005, 2006 The Sakai Foundation.
007: *
008: * Licensed under the Educational Community License, Version 1.0 (the "License");
009: * you may not use this file except in compliance with the License.
010: * You may obtain a copy of the License at
011: *
012: * http://www.opensource.org/licenses/ecl1.php
013: *
014: * Unless required by applicable law or agreed to in writing, software
015: * distributed under the License is distributed on an "AS IS" BASIS,
016: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017: * See the License for the specific language governing permissions and
018: * limitations under the License.
019: *
020: **********************************************************************************/package org.theospi.portfolio.matrix.model;
021:
022: import java.io.Serializable;
023: import java.util.ArrayList;
024: import java.util.Date;
025: import java.util.HashSet;
026: import java.util.List;
027: import java.util.Set;
028:
029: import org.sakaiproject.metaobj.shared.model.Agent;
030: import org.sakaiproject.metaobj.shared.model.Id;
031: import org.sakaiproject.metaobj.shared.model.IdentifiableObject;
032: import org.theospi.portfolio.style.model.Style;
033:
034: /**
035: * I. Communication
036: * A. Writing
037: * B. Public Speaking
038: * II. Critical Thinking
039: * A. Logic
040: * B. Analysis
041: * III. Integration & Application of Knowledge
042: * IV. Values & Ethics
043: *
044: <bean class="org.theospi.portfolio.warehouse.impl.BeanPropertyAccess">
045: <property name="propertyName"><value>documentRoot</value></property>
046: </bean>
047: <bean class="org.theospi.portfolio.warehouse.impl.IdPropertyAccess">
048: <property name="propertyName"><value>privacyXsdId</value></property>
049: </bean>
050:
051: * @author apple
052: */
053: public class Scaffolding extends IdentifiableObject implements
054: Serializable {
055: private Id id;
056: private List levels = new ArrayList();
057: private List criteria = new ArrayList();
058: private Set scaffoldingCells = new HashSet();
059: private Agent owner;
060: private String title;
061: private String columnLabel;
062: private String rowLabel;
063: private String readyColor;
064: private String pendingColor;
065: private String completedColor;
066: private String lockedColor;
067:
068: private Style style;
069:
070: private String description;
071: private Id worksiteId;
072:
073: private boolean preview = false;
074:
075: private boolean published = false;
076: private Agent publishedBy;
077: private Date publishedDate;
078:
079: private String exposedPageId;
080: private transient Boolean exposeAsTool = null;
081:
082: transient private boolean validate;
083:
084: private int workflowOption;
085: private Set matrix = new HashSet();
086:
087: public static final int NO_PROGRESSION = 0;
088: public static final int HORIZONTAL_PROGRESSION = 1;
089: public static final int VERTICAL_PROGRESSION = 2;
090: public static final int OPEN_PROGRESSION = 3;
091: public static final int MANUAL_PROGRESSION = 4;
092:
093: public Scaffolding() {
094: }
095:
096: public Scaffolding(String columnLabel, String rowLabel) {
097: this .columnLabel = columnLabel;
098: this .rowLabel = rowLabel;
099: }
100:
101: /* (non-Javadoc)
102: * @see java.lang.Object#equals(java.lang.Object)
103: */
104: public boolean equals(Object other) {
105: //TODO need better equals
106: if (other == this )
107: return true;
108: if (other == null || !(other instanceof Scaffolding))
109: return false;
110: return (this .getId().equals(((Scaffolding) other).getId()));
111:
112: }
113:
114: /* (non-Javadoc)
115: * @see java.lang.Object#hashCode()
116: */
117: public int hashCode() {
118: //TODO need better hashcode
119: Id id = this .getId();
120: if (id == null)
121: return 0;
122: return id.getValue().hashCode();
123: }
124:
125: /**
126: * Typical levels might be Beginner, Intermediate, Advanced
127: */
128: public List getLevels() {
129: return levels;
130: }
131:
132: /**
133: * @return List of Criteria
134: */
135: public List getCriteria() {
136: return criteria;
137: }
138:
139: /**
140: * @return Returns the owner.
141: */
142: public Agent getOwner() {
143: return owner;
144: }
145:
146: /**
147: * @param owner The owner to set.
148: */
149: public void setOwner(Agent owner) {
150: this .owner = owner;
151: }
152:
153: /**
154: * @param criteria The criteria to set.
155: */
156: public void setCriteria(List criteria) {
157: this .criteria = criteria;
158: }
159:
160: /**
161: * @param levels The levels to set.
162: */
163: public void setLevels(List levels) {
164: this .levels = levels;
165: }
166:
167: /**
168: * @return Returns the id.
169: */
170: public Id getId() {
171: return id;
172: }
173:
174: /**
175: * @param id The id to set.
176: */
177: public void setId(Id id) {
178: this .id = id;
179: }
180:
181: public void add(Criterion criterion) {
182: this .getCriteria().add(criterion);
183: }
184:
185: public void add(Level level) {
186: this .getLevels().add(level);
187: }
188:
189: public void add(ScaffoldingCell scaffoldingCell) {
190: this .getScaffoldingCells().add(scaffoldingCell);
191: }
192:
193: /**
194: * @return Returns the title.
195: */
196: public String getTitle() {
197: return title;
198: }
199:
200: /**
201: * @param title The title to set.
202: */
203: public void setTitle(String title) {
204: this .title = title;
205: }
206:
207: /**
208: * @return Returns the expectations.
209: */
210: public Set getScaffoldingCells() {
211: return scaffoldingCells;
212: }
213:
214: /**
215: * @param expectations The expectations to set.
216: */
217: public void setScaffoldingCells(Set scaffoldingCells) {
218: this .scaffoldingCells = scaffoldingCells;
219: }
220:
221: /**
222: * @return Returns the description.
223: */
224: public String getDescription() {
225: return description;
226: }
227:
228: /**
229: * @param description The description to set.
230: */
231: public void setDescription(String description) {
232: this .description = description;
233: }
234:
235: /**
236: * @return Returns the worksiteId.
237: */
238: public Id getWorksiteId() {
239: return worksiteId;
240: }
241:
242: /**
243: * @param worksiteId The worksiteId to set.
244: */
245: public void setWorksiteId(Id worksiteId) {
246: this .worksiteId = worksiteId;
247: }
248:
249: /**
250: * @return Returns the validate.
251: */
252: public boolean isValidate() {
253: return validate;
254: }
255:
256: /**
257: * @param validate The validate to set.
258: */
259: public void setValidate(boolean validate) {
260: this .validate = validate;
261: }
262:
263: public boolean isPreview() {
264: return preview;
265: }
266:
267: public void setPreview(boolean preview) {
268: this .preview = preview;
269: }
270:
271: public boolean isPublished() {
272: return published;
273: }
274:
275: public void setPublished(boolean published) {
276: this .published = published;
277: }
278:
279: public Agent getPublishedBy() {
280: return publishedBy;
281: }
282:
283: public void setPublishedBy(Agent publishedBy) {
284: this .publishedBy = publishedBy;
285: }
286:
287: public Date getPublishedDate() {
288: return publishedDate;
289: }
290:
291: public void setPublishedDate(Date publishedDate) {
292: this .publishedDate = publishedDate;
293: }
294:
295: public String getColumnLabel() {
296: return columnLabel;
297: }
298:
299: public void setColumnLabel(String columnLabel) {
300: this .columnLabel = columnLabel;
301: }
302:
303: public String getRowLabel() {
304: return rowLabel;
305: }
306:
307: public void setRowLabel(String rowLabel) {
308: this .rowLabel = rowLabel;
309: }
310:
311: public String getCompletedColor() {
312: return completedColor;
313: }
314:
315: public void setCompletedColor(String completedColor) {
316: this .completedColor = completedColor;
317: }
318:
319: public String getLockedColor() {
320: return lockedColor;
321: }
322:
323: public void setLockedColor(String lockedColor) {
324: this .lockedColor = lockedColor;
325: }
326:
327: public String getPendingColor() {
328: return pendingColor;
329: }
330:
331: public void setPendingColor(String pendingColor) {
332: this .pendingColor = pendingColor;
333: }
334:
335: public String getReadyColor() {
336: return readyColor;
337: }
338:
339: public void setReadyColor(String readyColor) {
340: this .readyColor = readyColor;
341: }
342:
343: /**
344: * @return Returns the workflowOption.
345: */
346: public int getWorkflowOption() {
347: return workflowOption;
348: }
349:
350: /**
351: * @param workflowOption The workflowOption to set.
352: */
353: public void setWorkflowOption(int workflowOption) {
354: this .workflowOption = workflowOption;
355: }
356:
357: public Set getMatrix() {
358: return matrix;
359: }
360:
361: public void setMatrix(Set matrix) {
362: this .matrix = matrix;
363: }
364:
365: public void add(Matrix matrix) {
366: this .getMatrix().add(matrix);
367: matrix.setScaffolding(this );
368: }
369:
370: public Boolean getExposeAsTool() {
371: return exposeAsTool;
372: }
373:
374: public void setExposeAsTool(Boolean exposeAsTool) {
375: this .exposeAsTool = exposeAsTool;
376: }
377:
378: public String getExposedPageId() {
379: return exposedPageId;
380: }
381:
382: public void setExposedPageId(String exposedPageId) {
383: this .exposedPageId = exposedPageId;
384: }
385:
386: public Style getStyle() {
387: return style;
388: }
389:
390: public void setStyle(Style style) {
391: this.style = style;
392: }
393: }
|