001/* 002 Licensed to the Apache Software Foundation (ASF) under one 003 or more contributor license agreements. See the NOTICE file 004 distributed with this work for additional information 005 regarding copyright ownership. The ASF licenses this file 006 to you under the Apache License, Version 2.0 (the 007 "License"); you may not use this file except in compliance 008 with the License. You may obtain a copy of the License at 009 010 http://www.apache.org/licenses/LICENSE-2.0 011 012 Unless required by applicable law or agreed to in writing, 013 software distributed under the License is distributed on an 014 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 KIND, either express or implied. See the License for the 016 specific language governing permissions and limitations 017 under the License. 018 */ 019package org.apache.wiki.workflow; 020 021import java.io.Serializable; 022import java.security.Principal; 023import java.util.Map; 024 025 026/** 027 * Decision subclass that includes two available Outcomes: {@link Outcome#DECISION_APPROVE} or {@link Outcome#DECISION_DENY}. 028 * The Decision is reassignable, and the default Outcome is {@link Outcome#DECISION_APPROVE}. 029 */ 030public class SimpleDecision extends Decision { 031 032 private static final long serialVersionUID = 8192213077644617341L; 033 034 /** 035 * Constructs a new SimpleDecision assigned to a specified actor. 036 * 037 * @param workflowId the parent workflow id to set 038 * @param workflowContext the parent workflow context to set 039 * @param messageKey the message key that describes the Decision, which will be presented in the UI 040 * @param actor the Principal (<em>e.g.</em>, WikiPrincipal, GroupPrincipal, Role) who will decide 041 */ 042 public SimpleDecision( final int workflowId, final Map< String, Serializable > workflowContext, final String messageKey, final Principal actor ) { 043 super( workflowId, workflowContext, messageKey, actor, Outcome.DECISION_APPROVE ); 044 045 // Add the other default outcomes 046 super.addSuccessor( Outcome.DECISION_DENY, null ); 047 } 048 049}