use of org.linkki.core.binding.dispatcher.StaticValueDispatcher in project linkki by linkki-framework.
the class PropertyDispatcherFactory method createDispatcherChain.
public PropertyDispatcher createDispatcherChain(Object pmo, BindingDescriptor bindingDescriptor, PropertyBehaviorProvider behaviorProvider) {
requireNonNull(pmo, "pmo must not be null");
requireNonNull(bindingDescriptor, "bindingDescriptor must not be null");
requireNonNull(behaviorProvider, "behaviorProvider must not be null");
// @formatter:off
String modelPropertyName = bindingDescriptor.getModelPropertyName();
String modelObjectName = bindingDescriptor.getModelObjectName();
String pmoPropertyName = bindingDescriptor.getPmoPropertyName();
ExceptionPropertyDispatcher exceptionDispatcher = newExceptionDispatcher(pmo, modelObjectName, pmoPropertyName);
ReflectionPropertyDispatcher reflectionDispatcher = newReflectionDispatcher(pmo, pmoPropertyName, modelObjectName, modelPropertyName, exceptionDispatcher);
StaticValueDispatcher bindingAnnotationDispatcher = new StaticValueDispatcher(reflectionDispatcher);
PropertyDispatcher customDispatchers = createCustomDispatchers(pmo, bindingDescriptor, bindingAnnotationDispatcher);
return new BehaviorDependentDispatcher(customDispatchers, behaviorProvider);
// @formatter:on
}
Aggregations