1 /**
2 * Copyright 2005-2012 The Kuali Foundation
3 *
4 * Licensed under the Educational Community License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.opensource.org/licenses/ecl2.php
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.kuali.rice.krad.datadictionary;
17
18 import org.kuali.rice.krad.document.Document;
19 import org.kuali.rice.krad.util.KRADConstants;
20
21 import java.io.Serializable;
22 import java.util.ArrayList;
23 import java.util.List;
24
25 /**
26 * Allows for grouping of related {@link WorkflowProperty} objects
27 *
28 * <p>
29 * This element is used to define a set of workflowProperty tags, which are used to
30 * specify which document properties should be serialized during the document serialization
31 * process. This element allows for all the nested workflowProperty tags to be relative
32 * to some base path. This base path itself is relative to the object being serialized
33 * during the document serialization process (which is not necessarily the document itself,
34 * but a wrapper around the document).If blank/missing, the base path will be assumed to be
35 * the property path to the document.
36 * </p>
37 *
38 * @author Kuali Rice Team (rice.collab@kuali.org)
39 */
40 public class WorkflowPropertyGroup implements Serializable {
41 private static final long serialVersionUID = 1L;
42
43 protected String basePath = KRADConstants.EMPTY_STRING;
44 protected List<WorkflowProperty> workflowProperties = new ArrayList<WorkflowProperty>();
45
46 /**
47 * The list of {@link WorkflowProperty} objects
48 *
49 * @return List<WorkflowProperty>
50 */
51 public List<WorkflowProperty> getWorkflowProperties() {
52 return workflowProperties;
53 }
54
55 /**
56 * The base path of the group which all {@link WorkflowProperty} objects are relative to
57 *
58 * <p>
59 * The base path itself should be relative from the object being serialized, which may not necessarily be the
60 * document, see {@link Document#wrapDocumentWithMetadataForXmlSerialization()}
61 * and {@link Document#getBasePathToDocumentDuringSerialization()}. If blank/missing, the base path will be
62 * assumed to be the property path to the document.
63 * </p>
64 *
65 * @return String
66 */
67 public String getBasePath() {
68 return this.basePath;
69 }
70
71 /**
72 * Setter for the base path
73 *
74 * @param basePath - the base path
75 */
76 public void setBasePath(String basePath) {
77 this.basePath = basePath;
78 }
79
80 /**
81 * Setter for workflow properties list
82 *
83 * @param workflowProperties - the list of workflow properties
84 */
85 public void setWorkflowProperties(List<WorkflowProperty> workflowProperties) {
86 this.workflowProperties = workflowProperties;
87 }
88
89 }