All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.activiti.bpmn.model.Activity Maven / Gradle / Ivy

There is a newer version: 7.1.0.M6
Show newest version
/* Licensed 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.activiti.bpmn.model;

import java.util.ArrayList;
import java.util.List;

public abstract class Activity extends FlowNode {
 
  protected String defaultFlow;
  protected boolean forCompensation;
  protected MultiInstanceLoopCharacteristics loopCharacteristics;
  protected IOSpecification ioSpecification;
  protected List dataInputAssociations = new ArrayList();
  protected List dataOutputAssociations = new ArrayList();
  protected List boundaryEvents = new ArrayList();
  protected String failedJobRetryTimeCycleValue;
  protected List mapExceptions = new ArrayList();

  public String getFailedJobRetryTimeCycleValue() {
    return failedJobRetryTimeCycleValue;
  }

  public void setFailedJobRetryTimeCycleValue(String failedJobRetryTimeCycleValue) {
    this.failedJobRetryTimeCycleValue = failedJobRetryTimeCycleValue;
  }
  public boolean isForCompensation() {
    return forCompensation;
  }

  public void setForCompensation(boolean forCompensation) {
    this.forCompensation = forCompensation;
  }

  public List getBoundaryEvents() {
    return boundaryEvents;
  }

  public void setBoundaryEvents(List boundaryEvents) {
    this.boundaryEvents = boundaryEvents;
  }

  public String getDefaultFlow() {
    return defaultFlow;
  }

  public void setDefaultFlow(String defaultFlow) {
    this.defaultFlow = defaultFlow;
  }

  public MultiInstanceLoopCharacteristics getLoopCharacteristics() {
    return loopCharacteristics;
  }

  public void setLoopCharacteristics(MultiInstanceLoopCharacteristics loopCharacteristics) {
    this.loopCharacteristics = loopCharacteristics;
  }
  
  public boolean hasMultiInstanceLoopCharacteristics() {
    return getLoopCharacteristics() != null;
  }

  public IOSpecification getIoSpecification() {
    return ioSpecification;
  }

  public void setIoSpecification(IOSpecification ioSpecification) {
    this.ioSpecification = ioSpecification;
  }

  public List getDataInputAssociations() {
    return dataInputAssociations;
  }

  public void setDataInputAssociations(List dataInputAssociations) {
    this.dataInputAssociations = dataInputAssociations;
  }

  public List getDataOutputAssociations() {
    return dataOutputAssociations;
  }

  public void setDataOutputAssociations(List dataOutputAssociations) {
    this.dataOutputAssociations = dataOutputAssociations;
  }
  public List getMapExceptions() {
    return mapExceptions;
  }
  public void setMapExceptions(List mapExceptions) {
    this.mapExceptions = mapExceptions;
  }
  
  public void setValues(Activity otherActivity) {
    super.setValues(otherActivity);
    setFailedJobRetryTimeCycleValue(otherActivity.getFailedJobRetryTimeCycleValue());
    setDefaultFlow(otherActivity.getDefaultFlow());
    setForCompensation(otherActivity.isForCompensation());
    if (otherActivity.getLoopCharacteristics() != null) {
      setLoopCharacteristics(otherActivity.getLoopCharacteristics().clone());
    }
    if (otherActivity.getIoSpecification() != null) {
      setIoSpecification(otherActivity.getIoSpecification().clone());
    }

    dataInputAssociations = new ArrayList();
    if (otherActivity.getDataInputAssociations() != null && !otherActivity.getDataInputAssociations().isEmpty()) {
      for (DataAssociation association : otherActivity.getDataInputAssociations()) {
        dataInputAssociations.add(association.clone());
      }
    }

    dataOutputAssociations = new ArrayList();
    if (otherActivity.getDataOutputAssociations() != null && !otherActivity.getDataOutputAssociations().isEmpty()) {
      for (DataAssociation association : otherActivity.getDataOutputAssociations()) {
        dataOutputAssociations.add(association.clone());
      }
    }
    
    boundaryEvents.clear();
    for (BoundaryEvent event : otherActivity.getBoundaryEvents()) {
      boundaryEvents.add(event);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy