/** * Defines the given {@link SingleValueBinding} to be used for the paths. * * @param binding must not be {@literal null}. * @return */ public void firstOptional(OptionalValueBinding<P, T> binding) { Assert.notNull(binding, "Binding must not be null!"); all((path, value) -> binding.bind(path, Optionals.next(value.iterator()))); }
/** * Configures the given {@link SingleValueBinding} to be used for the current type. * * @param binding must not be {@literal null}. */ public <P extends Path<T>> void firstOptional(OptionalValueBinding<P, T> binding) { Assert.notNull(binding, "Binding must not be null!"); all((MultiValueBinding<P, T>) (path, value) -> binding.bind(path, Optionals.next(value.iterator()))); }
public void first(SingleValueBinding<P, T> binding) { Assert.notNull(binding, "Binding must not be null!"); all((path, value) -> Optionals.next(value.iterator()).map(t -> binding.bind(path, t))); }
public <P extends Path<T>> void first(SingleValueBinding<P, T> binding) { Assert.notNull(binding, "Binding must not be null!"); all((MultiValueBinding<P, T>) (path, value) -> Optionals.next(value.iterator()).map(t -> binding.bind(path, t))); }