/*
Name:
- LifecyclePhaseProtocol
Description:
-
Requires:
-
Provides:
-
Part of: ProcessPuzzle Framework, Domain and Business Model Ready Architecture. Provides content, workflow and social networking functionality.
http://www.processpuzzle.com
ProcessPuzzle - Content and Workflow Management Integration Business Platform
Author(s):
- Zsolt Zsuffa
Copyright: (C) 2011 This program is free software: you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.processpuzzle.workflow.protocol.domain;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class LifecyclePhaseProtocol extends CompositeProtocol {
public LifecyclePhaseProtocol() {
super();
}
public LifecyclePhaseProtocol(String name) {
super(name);
}
public void addParentLifecycleProtocol(LifecycleProtocol lcp) {
addCompositeProtocol(lcp);
}
public Set<?> getParentLifecycleProtocols() {
return getCompositeProtocols();
}
public void setParentLifecycleProtocols(Set<?> lcps) {
setCompositeProtocols(lcps);
}
public void addActivity(ActivityProtocol activity) {
addStep(activity);
}
public Set<ActivityProtocol> getActivities() {
Set<ActivityProtocol> activities = new HashSet<ActivityProtocol>();
for (Iterator<?> iter = getProtocols().iterator(); iter.hasNext();) {
Protocol pr = (Protocol) iter.next();
if (pr instanceof ActivityProtocol) {
ActivityProtocol activity = (ActivityProtocol) pr;
activities.add(activity);
}
}
return activities;
}
public void addWorflowDetail(WorkflowDetailProtocol wfd) {
addStep(wfd);
}
public Set<WorkflowDetailProtocol> getWorkFlowDetails() {
Set<WorkflowDetailProtocol> wfds = new HashSet<WorkflowDetailProtocol>();
for (Iterator<?> iter = getProtocols().iterator(); iter.hasNext();) {
Protocol pr = (Protocol) iter.next();
if (pr instanceof WorkflowDetailProtocol) {
WorkflowDetailProtocol wfd = (WorkflowDetailProtocol) pr;
wfds.add(wfd);
}
}
return wfds;
}
public void setActivities(Set<ActivityProtocol> activities) {
for (ActivityProtocol protocol : activities) {
addStep(protocol);
}
}
public void setWorkFlowDetails(Set<WorkflowDetailProtocol> workFlowDetails) {
for (WorkflowDetailProtocol protocol : workFlowDetails) {
addStep(protocol);
}
}
}