001: /***************************************************************
002: * This file is part of the [fleXive](R) project.
003: *
004: * Copyright (c) 1999-2008
005: * UCS - unique computing solutions gmbh (http://www.ucs.at)
006: * All rights reserved
007: *
008: * The [fleXive](R) project is free software; you can redistribute
009: * it and/or modify it under the terms of the GNU General Public
010: * License as published by the Free Software Foundation;
011: * either version 2 of the License, or (at your option) any
012: * later version.
013: *
014: * The GNU General Public License can be found at
015: * http://www.gnu.org/copyleft/gpl.html.
016: * A copy is found in the textfile GPL.txt and important notices to the
017: * license from the author are found in LICENSE.txt distributed with
018: * these libraries.
019: *
020: * This library is distributed in the hope that it will be useful,
021: * but WITHOUT ANY WARRANTY; without even the implied warranty of
022: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
023: * GNU General Public License for more details.
024: *
025: * For further information about UCS - unique computing solutions gmbh,
026: * please see the company website: http://www.ucs.at
027: *
028: * For further information about [fleXive](R), please see the
029: * project website: http://www.flexive.org
030: *
031: *
032: * This copyright notice MUST APPEAR in all copies of the file!
033: ***************************************************************/package com.flexive.shared.workflow;
034:
035: import java.io.Serializable;
036:
037: /**
038: * Class storing a step and its permissions.
039: *
040: * @author Gregor Schober (gregor.schober@flexive.com), UCS - unique computing solutions gmbh (http://www.ucs.at)
041: */
042: public class StepPermission implements Serializable {
043: private static final long serialVersionUID = 6829315756578605674L;
044:
045: protected long step = -1;
046: protected boolean mayRead = false;
047: protected boolean mayEdit = false;
048: protected boolean mayRelate = false;
049: protected boolean mayDelete = false;
050: protected boolean mayExport = false;
051: protected boolean mayCreate = false;
052: protected long stepDefId = -1;
053: protected long workflow = -1;
054:
055: /**
056: * Constructor.
057: *
058: * @param stepId the step id
059: * @param stepDefId the step definition ID
060: * @param workflowId the workflow id
061: * @param read the read permission
062: * @param edit the edit permission
063: * @param relate the relate permission
064: * @param delete the delete permission
065: * @param export the export permission
066: * @param create the create permission
067: */
068: public StepPermission(long stepId, long stepDefId, long workflowId,
069: boolean read, boolean edit, boolean relate, boolean delete,
070: boolean export, boolean create) {
071: this .stepDefId = stepDefId;
072: this .step = stepId;
073: this .workflow = workflowId;
074: this .mayRead = read;
075: this .mayEdit = edit;
076: this .mayRelate = relate;
077: this .mayDelete = delete;
078: this .mayExport = export;
079: this .mayCreate = create;
080: }
081:
082: /**
083: * Protected default constructor.
084: */
085: protected StepPermission() {
086:
087: }
088:
089: /**
090: * Returns the id of the step.
091: *
092: * @return the id of the step.
093: */
094: public long getStepId() {
095: return this .step;
096: }
097:
098: /**
099: * Returns the id of the stepDefinition this step belongs to.
100: *
101: * @return the id of the stepDefinition this step belongs to.
102: */
103: public long getStepDefId() {
104: return this .stepDefId;
105: }
106:
107: /**
108: * Returns the id of the workflow the step belongs to.
109: *
110: * @return the id of the workflow the step belongs to.
111: */
112: public long getWorkflowId() {
113: return this .workflow;
114: }
115:
116: /**
117: * Return true if the StepPermissiom grants read permission.
118: *
119: * @return true if the StepPermissiom grants read permission.
120: */
121: public boolean getMayRead() {
122: return this .mayRead;
123: }
124:
125: /**
126: * Return true if the StepPermissiom grants edit permission.
127: *
128: * @return true if the StepPermissiom grants edit permission.
129: */
130: public boolean getMayEdit() {
131: return this .mayEdit;
132: }
133:
134: /**
135: * Return true if the StepPermissiom grants relate permission.
136: *
137: * @return true if the StepPermissiom grants relate permission.
138: */
139: public boolean getMayRelate() {
140: return this .mayRelate;
141: }
142:
143: /**
144: * Return true if the StepPermissiom grants unassign permission.
145: *
146: * @return true if the StepPermissiom grants unassign permission.
147: */
148: public boolean getMayDelete() {
149: return this .mayDelete;
150: }
151:
152: /**
153: * Return true if the StepPermissiom grants export permission.
154: *
155: * @return true if the StepPermissiom grants export permission.
156: */
157: public boolean getMayExport() {
158: return this .mayExport;
159: }
160:
161: /**
162: * Return true if the StepPermission grants create permission.
163: *
164: * @return true if the StepPermission grants create permission.
165: */
166: public boolean getMayCreate() {
167: return this.mayCreate;
168: }
169: }
|