}
public EventDefinition getEventDefinition(EventDefinitionParameter eventDefinitionParameter) {
// get the event definition (if any)
TEventDefinition eventDefinitionJaxb = getTEventDefinition(eventDefinitionParameter.clientId, eventDefinitionParameter.processJaxb,
eventDefinitionParameter.subProcessesJaxb, eventDefinitionParameter.flowNodeJaxb);
// if there is no event definition, create an EmptyEventDefinition actor
if (eventDefinitionJaxb == null) {
return new EmptyEventDefinition();
// else create the implementing event definition actor
} else {
// *** create a message event actor ***
if (eventDefinitionJaxb.getClass().equals(
TMessageEventDefinition.class)) {
return createMessageEventDefinition(eventDefinitionParameter.clientId, eventDefinitionParameter.processJaxb, eventDefinitionParameter.subProcessesJaxb,
eventDefinitionParameter.flowNodeJaxb, (TMessageEventDefinition) eventDefinitionJaxb);
// *** create a terminate event actor ***
} else if (eventDefinitionJaxb.getClass().equals(
TTerminateEventDefinition.class)) {
return createTerminateEventDefinition(eventDefinitionParameter.clientId, eventDefinitionParameter.processJaxb, eventDefinitionParameter.subProcessesJaxb,
eventDefinitionParameter.flowNodeJaxb, eventDefinitionJaxb);
} else if (eventDefinitionJaxb.getClass().equals(
TTimerEventDefinition.class)) {
return createTimerEventDefinition(eventDefinitionParameter.clientId, eventDefinitionParameter.processJaxb, eventDefinitionParameter.subProcessesJaxb,
eventDefinitionParameter.flowNodeJaxb, eventDefinitionJaxb);
}
// return empty event definition for unimplemented event definitions