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

org.yaoqiang.bpmn.model.elements.core.common.PartnerEntity Maven / Gradle / Ivy

package org.yaoqiang.bpmn.model.elements.core.common;

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

import org.yaoqiang.bpmn.model.BPMNModelUtils;
import org.yaoqiang.bpmn.model.elements.XMLAttribute;
import org.yaoqiang.bpmn.model.elements.XMLElement;
import org.yaoqiang.bpmn.model.elements.XMLTextElements;
import org.yaoqiang.bpmn.model.elements.collaboration.Participant;
import org.yaoqiang.bpmn.model.elements.core.foundation.BaseElement;
import org.yaoqiang.bpmn.model.elements.core.foundation.RootElement;
import org.yaoqiang.bpmn.model.elements.core.foundation.RootElements;

/**
 * PartnerEntity
 * 
 * @author Shi Yaoqiang([email protected])
 */
public class PartnerEntity extends BaseElement implements RootElement {

	private static final long serialVersionUID = 1577512599079863122L;

	public PartnerEntity(RootElements parent) {
		super(parent, "partnerEntity");
	}

	protected void fillStructure() {
		XMLAttribute attrName = new XMLAttribute(this, "name");
		XMLTextElements refParticipantRef = new XMLTextElements(this, "participantRef");

		super.fillStructure();
		add(attrName);
		add(refParticipantRef);
	}

	public final XMLTextElements getParticipantRefs() {
		return (XMLTextElements) get("participantRef");
	}
	
	public final List getParticipantRefList() {
		return getParticipantRefs().getXMLElements();
	}
	
	public final List getRefParticipantList() {
		List els = new ArrayList();
		for (XMLElement partRef: getParticipantRefList()) {
			Participant part = BPMNModelUtils.getDefinitions(parent).getParticipant(partRef.toValue());
			if (part != null) {
				els.add(part);
			}
		}
		return els;
	}
	
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy