
org.camunda.bpm.model.bpmn.builder.AbstractMultiInstanceLoopCharacteristicsBuilder Maven / Gradle / Ivy
/* 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.camunda.bpm.model.bpmn.builder;
import org.camunda.bpm.model.bpmn.BpmnModelInstance;
import org.camunda.bpm.model.bpmn.instance.Activity;
import org.camunda.bpm.model.bpmn.instance.CompletionCondition;
import org.camunda.bpm.model.bpmn.instance.LoopCardinality;
import org.camunda.bpm.model.bpmn.instance.MultiInstanceLoopCharacteristics;
/**
* @author Thorben Lindhauer
*
*/
public class AbstractMultiInstanceLoopCharacteristicsBuilder>
extends AbstractBaseElementBuilder{
protected AbstractMultiInstanceLoopCharacteristicsBuilder(BpmnModelInstance modelInstance, MultiInstanceLoopCharacteristics element, Class> selfType) {
super(modelInstance, element, selfType);
}
/**
* Sets the multi instance loop characteristics to be sequential.
*
* @return the builder object
*/
public B sequential() {
element.setSequential(true);
return myself;
}
/**
* Sets the multi instance loop characteristics to be parallel.
*
* @return the builder object
*/
public B parallel() {
element.setSequential(false);
return myself;
}
/**
* Sets the cardinality expression.
*
* @param expression the cardinality expression
* @return the builder object
*/
public B cardinality(String expression) {
LoopCardinality cardinality = getCreateSingleChild(LoopCardinality.class);
cardinality.setTextContent(expression);
return myself;
}
/**
* Sets the completion condition expression.
*
* @param expression the completion condition expression
* @return the builder object
*/
public B completionCondition(String expression) {
CompletionCondition condition = getCreateSingleChild(CompletionCondition.class);
condition.setTextContent(expression);
return myself;
}
/**
* Sets the camunda collection expression.
*
* @param expression the collection expression
* @return the builder object
*/
public B camundaCollection(String expression) {
element.setCamundaCollection(expression);
return myself;
}
/**
* Sets the camunda element variable name.
*
* @param variableName the name of the element variable
* @return the builder object
*/
public B camundaElementVariable(String variableName) {
element.setCamundaElementVariable(variableName);
return myself;
}
/**
* Finishes the building of a multi instance loop characteristics.
*
* @return the parent activity builder
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public T multiInstanceDone() {
return (T) ((Activity) element.getParentElement()).builder();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy