use of org.openksavi.sponge.Processor in project sponge by softelnet.
the class DefaultProcessorManager method createAdapter.
protected BaseProcessorAdapter createAdapter(ProcessorInstanceHolder instanceHolder, ProcessorType requiredType) {
Processor processor = instanceHolder.getProcessor();
Validate.isInstanceOf(ProcessorAdapterFactory.class, processor, "Processor must implement %s", ProcessorAdapterFactory.class);
ProcessorAdapter adapter = ((ProcessorAdapterFactory) processor).createAdapter();
Validate.isInstanceOf(BaseProcessorAdapter.class, adapter, "Processor adapter must extend %s", BaseProcessorAdapter.class);
BaseProcessorAdapter result = (BaseProcessorAdapter) adapter;
result.getDefinition().setJavaDefined(instanceHolder.isJavaDefined());
result.getDefinition().setProcessorClass(processor.getClass());
if (requiredType != null) {
Validate.isTrue(adapter.getType() == requiredType, "% is % but should be %", adapter.getName(), adapter.getType().getDisplayName(), requiredType.getDisplayName());
}
return result;
}
use of org.openksavi.sponge.Processor in project sponge by softelnet.
the class DefaultProcessorManager method initializeProcessor.
protected void initializeProcessor(ProcessorInstanceHolder instanceHolder, BaseProcessorAdapter adapter) {
Processor processor = instanceHolder.getProcessor();
processor.onConfigure();
// Must be verified after onConfigure, because onConfigure may change for example the name of the processor.
Optional<Map.Entry<ProcessorType, RegistrationHandler>> alreadyRegistered = findAlreadyRegisteredByDifferentType(adapter);
if (alreadyRegistered.isPresent()) {
Validate.isTrue(false, "% named '%' has already been registered as % type", adapter.getType().getDisplayName(), adapter.getName(), alreadyRegistered.get().getKey().getDisplayName());
}
processor.getAdapter().validate();
if (processor.getAdapter().getDefinition().isSingleton()) {
processor.onInit();
}
}
Aggregations