public void convert(FormatConfigurationType formatConfigurationType, TemplateParameterContextProvider contextProvider)
throws IOException {
for (Object operation : formatConfigurationType.getExecOnceOrExecEachSegmentOrExecEachSequence()) {
if (operation instanceof ExecOnceType) {
new ConversionExecutorOnce(contextProvider, getExecuteStrategyFactory(), (ExecOnceType) operation).execute();
} else if (operation instanceof ExecEachSegmentSequenceType) {
new ConversionExecutorSegment(contextProvider, getExecuteStrategyFactory(),
(ExecEachSegmentSequenceType) operation).execute();
} else if (operation instanceof ExecEachSequenceSegmentType) {
new ConversionExecutorSequence(contextProvider, getExecuteStrategyFactory(),
(ExecEachSequenceSegmentType) operation).execute();
} else if (operation instanceof PipeType) {
new ConversionExecutorPipe(contextProvider, getExecuteStrategyFactory(), (PipeType) operation).execute();
} else if (operation instanceof DynamicParameterConcatType) {
new ConversionExecutorDynamicParameter(contextProvider, getExecuteStrategyFactory(),
(DynamicParameterConcatType) operation).execute();
} else if (operation instanceof ForType) {
new ConversionExecutorFor(contextProvider, getExecuteStrategyFactory(), (ForType) operation).execute();
} else if (operation instanceof IfType) {
new ConversionExecutorIf(contextProvider, getExecuteStrategyFactory(), (IfType) operation).execute();
} else {
throw new ConversionException(String.format("Unknown Conversion Operation type: %s", operation.toString()));
}
}
}