io.virtdata.api.ValuesMapBinder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of virtdata-lib-realer Show documentation
Show all versions of virtdata-lib-realer Show documentation
With inspiration from other libraries
package io.virtdata.api;
import java.util.Map;
/**
* ValuesMapBinder provides a way to apply an map of named object values to a template
* object of type T to yield a new object instance of type R. The object array is
* a positional argument list. There is no named-argument facility.
*
* Parameter Examples:
*
* - T: prepared Statement, R: bound statement
* - T: string template, R: interpolated string value
*
*
* @param The template type
* @param The result type
*/
public interface ValuesMapBinder {
/**
* Using context instance of type S, AKA the template, create and bind values to
* target object of type R
* @param context A context object that knows how to provide an instance of type R
* @param values An array of values which should be bound to the new R instance
* @return The new result instance of R
*/
R bindValues(T context, Map values);
}