blob: 78068be3e4058b4a5db028e4bf5cedaac1186b8d [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.oodt.cas.workflow.structs;
/**
*
* A WorkflowCondition is some pre-condition that must evaluate to true in order
* for a particular {@link WorkflowTask} to be permitted to execute .
*
*
* @author mattmann
* @version $Revision$
*
*/
public class WorkflowCondition {
/* the name of the condition */
private String conditionName = null;
/* the id for the condition */
private String conditionId = null;
/* the actual portion of the condition that performs the work */
protected String conditionInstanceClassName = null;
/* the order that this condition comes in */
protected int order = -1;
/* the static configuration parameters for the condition */
protected WorkflowConditionConfiguration condConfig;
private long timeoutSeconds;
private boolean optional;
/**
* <p>
* Default Constructor
* </p>
*
*/
public WorkflowCondition() {
this(null, null, null, -1);
}
/**
* <p>
* Constructs a new WorkflowCondition with the specified parameters.
* </p>
*
* @param conditionName
* The display name of the condition.
* @param conditionId
* The ID for this condition.
* @param instanceClass
* The particular instance class name attached to this
* WorkflowCondition.
* @param order
* The order in which this condition should be checked for a
* particular WorkflowTask.
*/
public WorkflowCondition(String conditionName, String conditionId,
String instanceClass, int order) {
this.conditionName = conditionName;
this.conditionId = conditionId;
this.conditionInstanceClassName = instanceClass;
this.order = order;
this.timeoutSeconds = -1;
this.condConfig = new WorkflowConditionConfiguration();
this.optional = false;
}
/**
* @return Returns the taskConfig.
*/
@Deprecated
public WorkflowConditionConfiguration getTaskConfig() {
return this.condConfig;
}
/**
* @param taskConfig
* The taskConfig to set.
*/
public void setCondConfig(WorkflowConditionConfiguration condConfig) {
this.condConfig = condConfig;
}
/**
*
* @return Returns the condConfig
*/
public WorkflowConditionConfiguration getCondConfig() {
return this.condConfig;
}
/**
* @return Returns the conditionId.
*/
public String getConditionId() {
return conditionId;
}
/**
* @param conditionId
* The conditionId to set.
*/
public void setConditionId(String conditionId) {
this.conditionId = conditionId;
}
/**
* @return Returns the conditionName.
*/
public String getConditionName() {
return conditionName;
}
/**
* @param conditionName
* The conditionName to set.
*/
public void setConditionName(String conditionName) {
this.conditionName = conditionName;
}
/**
* @return Returns the conditionInstanceClassName.
*/
public String getConditionInstanceClassName() {
return conditionInstanceClassName;
}
/**
* @param conditionInstanceClassName
* The conditionInstanceClassName to set.
*/
public void setConditionInstanceClassName(String conditionInstanceClassName) {
this.conditionInstanceClassName = conditionInstanceClassName;
}
/**
* @return Returns the order.
*/
public int getOrder() {
return order;
}
/**
* @param order
* The order to set.
*/
public void setOrder(int order) {
this.order = order;
}
/**
* @return the timeoutSeconds
*/
public long getTimeoutSeconds() {
return timeoutSeconds;
}
/**
* @param timeoutSeconds the timeoutSeconds to set
*/
public void setTimeoutSeconds(long timeoutSeconds) {
this.timeoutSeconds = timeoutSeconds;
}
/**
* @return the optional
*/
public boolean isOptional() {
return optional;
}
/**
* @param optional the optional to set
*/
public void setOptional(boolean optional) {
this.optional = optional;
}
}