/** * Set update operation values using given {@link PropertyBox}. * <p> * Each {@link Path} type property of the PropertyBox property set will be setted to its corresponding value in the * PropertyBox. Any previously path binding will be replaced by a new path binding for matching paths. * </p> * <p> * Any path without a value in the PropertyBox will be updated to the <code>null</code> value. * </p> * @param propertyBox propertyBox PropertyBox to use (not null) * @return this * @see #set(PropertyBox, boolean) */ default O set(PropertyBox propertyBox) { return set(propertyBox, true); }
/** * Set the given {@link Path} to <code>null</code> value. * @param <P> Path type * @param path Path to be updated (not null) * @return this */ default <P> O setNull(Path<P> path) { return set(path, NullExpression.create(path)); }
/** * Set given <code>path</code> to given constant value. * @param <T> Path type * @param path Path to be updated (not null) * @param value value to set * @return this * @see #setNull(Path) */ default <T> O set(Path<T> path, T value) { return set(path, (value == null) ? NullExpression.create(path) : ConstantConverterExpression.create(path, value)); }