private BindHandler getBindHandler(ConfigurationProperties annotation, List<Validator> validators) { BindHandler handler = new IgnoreTopLevelConverterNotFoundBindHandler(); if (annotation.ignoreInvalidFields()) { handler = new IgnoreErrorsBindHandler(handler); } if (!annotation.ignoreUnknownFields()) { UnboundElementsSourceFilter filter = new UnboundElementsSourceFilter(); handler = new NoUnboundElementsBindHandler(handler, filter); } if (!validators.isEmpty()) { handler = new ValidationBindHandler(handler, validators.toArray(new Validator[0])); } for (ConfigurationPropertiesBindHandlerAdvisor advisor : getBindHandlerAdvisors()) { handler = advisor.apply(handler); } return handler; }
public void bind(String configPrefix, Bindable<?> bean) { BindHandler handler = new IgnoreTopLevelConverterNotFoundBindHandler(); this.binder.bind(configPrefix, bean, handler); }
public <T> BindResult<T> bind(String prefix, Bindable<T> target) { UnboundElementsSourceFilter filter = new UnboundElementsSourceFilter(); NoUnboundElementsBindHandler handler = new NoUnboundElementsBindHandler(new IgnoreTopLevelConverterNotFoundBindHandler(), filter); return binder.bind(prefix, target, handler); }