001: /*
002: * Copyright 2007 The Kuali Foundation.
003: *
004: * Licensed under the Educational Community License, Version 1.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.opensource.org/licenses/ecl1.php
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016: package org.kuali.core.document.authorization;
017:
018: import java.io.Serializable;
019:
020: /**
021: * Simple bean used to indicate which operations are allowed for the current user on the associated document.
022: */
023: public class DocumentActionFlags implements Serializable {
024: private boolean canAnnotate;
025: private boolean canReload;
026: private boolean canSave;
027: private boolean canRoute;
028: private boolean canCancel;
029: private boolean canClose;
030: private boolean canBlanketApprove;
031: private boolean canApprove;
032: private boolean canDisapprove;
033: private boolean canFYI;
034: private boolean canAcknowledge;
035: private boolean canAdHocRoute;
036: private boolean canSupervise;
037: private boolean canCopy;
038: private boolean canPerformRouteReport;
039: private boolean hasAmountTotal;
040:
041: /**
042: * Default constructor.
043: */
044: public DocumentActionFlags() {
045: }
046:
047: /**
048: * Copy constructor.
049: *
050: * @param flags
051: */
052: public DocumentActionFlags(DocumentActionFlags flags) {
053: this .canAnnotate = flags.canAnnotate;
054: this .canReload = flags.canReload;
055: this .canSave = flags.canSave;
056: this .canRoute = flags.canRoute;
057: this .canCancel = flags.canCancel;
058: this .canClose = flags.canClose;
059: this .canBlanketApprove = flags.canBlanketApprove;
060: this .canApprove = flags.canApprove;
061: this .canDisapprove = flags.canDisapprove;
062: this .canFYI = flags.canFYI;
063: this .canAcknowledge = flags.canAcknowledge;
064: this .canAdHocRoute = flags.canAdHocRoute;
065: this .canSupervise = flags.canSupervise;
066: this .canCopy = flags.canCopy;
067: this .canPerformRouteReport = flags.canPerformRouteReport;
068: this .hasAmountTotal = flags.hasAmountTotal;
069: }
070:
071: /**
072: * @return String
073: */
074: public String getClassName() {
075: return this .getClass().getName();
076: }
077:
078: /**
079: * @return String
080: */
081: public boolean getCanAcknowledge() {
082: return canAcknowledge;
083: }
084:
085: /**
086: * @param canAcknowledge
087: */
088: public void setCanAcknowledge(boolean canAcknowledge) {
089: this .canAcknowledge = canAcknowledge;
090: }
091:
092: /**
093: * @return String
094: */
095: public boolean getCanAnnotate() {
096: return canAnnotate;
097: }
098:
099: /**
100: * @param canAnnotate
101: */
102: public void setCanAnnotate(boolean canAnnotate) {
103: this .canAnnotate = canAnnotate;
104: }
105:
106: /**
107: * @return String
108: */
109: public boolean getCanApprove() {
110: return canApprove;
111: }
112:
113: /**
114: * @param canApprove
115: */
116: public void setCanApprove(boolean canApprove) {
117: this .canApprove = canApprove;
118: }
119:
120: /**
121: * @return String
122: */
123: public boolean getCanBlanketApprove() {
124: return canBlanketApprove;
125: }
126:
127: /**
128: * @param canBlanketApprove
129: */
130: public void setCanBlanketApprove(boolean canBlanketApprove) {
131: this .canBlanketApprove = canBlanketApprove;
132: }
133:
134: /**
135: * @return String
136: */
137: public boolean getCanCancel() {
138: return canCancel;
139: }
140:
141: /**
142: * @param canCancel
143: */
144: public void setCanCancel(boolean canCancel) {
145: this .canCancel = canCancel;
146: }
147:
148: /**
149: * @return String
150: */
151: public boolean getCanClose() {
152: return canClose;
153: }
154:
155: /**
156: * @param canClose
157: */
158: public void setCanClose(boolean canClose) {
159: this .canClose = canClose;
160: }
161:
162: /**
163: * @return String
164: */
165: public boolean getCanDisapprove() {
166: return canDisapprove;
167: }
168:
169: /**
170: * @param canDisapprove
171: */
172: public void setCanDisapprove(boolean canDisapprove) {
173: this .canDisapprove = canDisapprove;
174: }
175:
176: /**
177: * @return String
178: */
179: public boolean getCanFYI() {
180: return canFYI;
181: }
182:
183: /**
184: * @param canFYI
185: */
186: public void setCanFYI(boolean canFYI) {
187: this .canFYI = canFYI;
188: }
189:
190: /**
191: * @return String
192: */
193: public boolean getCanReload() {
194: return canReload;
195: }
196:
197: /**
198: * @param canReload
199: */
200: public void setCanReload(boolean canReload) {
201: this .canReload = canReload;
202: }
203:
204: /**
205: * @return String
206: */
207: public boolean getCanRoute() {
208: return canRoute;
209: }
210:
211: /**
212: * @param canRoute
213: */
214: public void setCanRoute(boolean canRoute) {
215: this .canRoute = canRoute;
216: }
217:
218: /**
219: * @return String
220: */
221: public boolean getCanSave() {
222: return canSave;
223: }
224:
225: /**
226: * @param canSave
227: */
228: public void setCanSave(boolean canSave) {
229: this .canSave = canSave;
230: }
231:
232: /**
233: * @param canAdHocRoute
234: */
235: public void setCanAdHocRoute(boolean canAdHocRoute) {
236: this .canAdHocRoute = canAdHocRoute;
237: }
238:
239: /**
240: * @return String
241: */
242: public boolean getCanAdHocRoute() {
243: return canAdHocRoute;
244: }
245:
246: /**
247: * @return String
248: */
249: public boolean getCanSupervise() {
250: return canSupervise;
251: }
252:
253: /**
254: * @param canSupervise
255: */
256: public void setCanSupervise(boolean canSupervise) {
257: this .canSupervise = canSupervise;
258: }
259:
260: /**
261: * @return boolean
262: */
263: public boolean getCanCopy() {
264: return canCopy;
265: }
266:
267: /**
268: * @param canCopy
269: */
270: public void setCanCopy(boolean canCopy) {
271: this .canCopy = canCopy;
272: }
273:
274: /**
275: * @return boolean
276: */
277: public boolean isCanPerformRouteReport() {
278: return canPerformRouteReport;
279: }
280:
281: /**
282: * @param canPerformRouteReport
283: */
284: public void setCanPerformRouteReport(boolean canPerformRouteReport) {
285: this .canPerformRouteReport = canPerformRouteReport;
286: }
287:
288: /**
289: * Gets the hasAmountTotal attribute.
290: * @return Returns the hasAmountTotal.
291: */
292: public boolean isHasAmountTotal() {
293: return hasAmountTotal;
294: }
295:
296: /**
297: * Sets the hasAmountTotal attribute value.
298: * @param hasAmountTotal The hasAmountTotal to set.
299: */
300: public void setHasAmountTotal(boolean hasAmountTotal) {
301: this .hasAmountTotal = hasAmountTotal;
302: }
303:
304: /**
305: * Debugging method, simplifies comparing another instance of this class to this one
306: *
307: * @param other
308: * @return String
309: */
310: public String diff(DocumentActionFlags other) {
311: StringBuffer s = new StringBuffer();
312:
313: if (canAnnotate != other.canAnnotate) {
314: s.append("canAnnotate=(" + canAnnotate + ","
315: + other.canAnnotate + ")");
316: }
317: if (canReload != other.canReload) {
318: s.append("canReload=(" + canReload + "," + other.canReload
319: + ")");
320: }
321: if (canSave != other.canSave) {
322: s.append("canSave=(" + canSave + "," + other.canSave + ")");
323: }
324: if (canRoute != other.canRoute) {
325: s.append("canRoute=(" + canRoute + "," + other.canRoute
326: + ")");
327: }
328: if (canCancel != other.canCancel) {
329: s.append("canCancel=(" + canCancel + "," + other.canCancel
330: + ")");
331: }
332: if (canClose != other.canClose) {
333: s.append("canClose=(" + canClose + "," + other.canClose
334: + ")");
335: }
336: if (canBlanketApprove != other.canBlanketApprove) {
337: s.append("canBlanketApprove=(" + canBlanketApprove + ","
338: + other.canBlanketApprove + ")");
339: }
340: if (canApprove != other.canApprove) {
341: s.append("canApprove=(" + canApprove + ","
342: + other.canApprove + ")");
343: }
344: if (canDisapprove != other.canDisapprove) {
345: s.append("canDisapprove=(" + canDisapprove + ","
346: + other.canDisapprove + ")");
347: }
348: if (canFYI != other.canFYI) {
349: s.append("canFYI=(" + canFYI + "," + other.canFYI + ")");
350: }
351: if (canAcknowledge != other.canAcknowledge) {
352: s.append("canAcknowledge=(" + canAcknowledge + ","
353: + other.canAcknowledge + ")");
354: }
355: if (canAdHocRoute != other.canAdHocRoute) {
356: s.append("canAdHocRoute=(" + canAdHocRoute + ","
357: + other.canAdHocRoute + ")");
358: }
359: if (canSupervise != other.canSupervise) {
360: s.append("canSupervise=(" + canSupervise + ","
361: + other.canSupervise + ")");
362: }
363: if (canCopy != other.canCopy) {
364: s.append("canCopy=(" + canCopy + "," + other.canCopy + ")");
365: }
366: if (canPerformRouteReport != other.canPerformRouteReport) {
367: s.append("canPerformRouteReport=(" + canPerformRouteReport
368: + "," + other.canPerformRouteReport + ")");
369: }
370:
371: return s.toString();
372: }
373: }
|