All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.datakernel.common.tuple.TupleConstructors Maven / Gradle / Ivy

package io.datakernel.common.tuple;

import java.util.function.Consumer;
import java.util.function.Supplier;

public final class TupleConstructors {

	public static  TupleConstructor1 toPojo(Supplier pojoSupplier, Consumer setter1) {
		return value1 -> {
			R pojo = pojoSupplier.get();
			setter1.accept(value1);
			return pojo;
		};
	}

	public static  TupleConstructor2 toPojo(Supplier pojoSupplier,
	                                                              Consumer setter1,
	                                                              Consumer setter2) {
		return (value1, value2) -> {
			R pojo = pojoSupplier.get();
			setter1.accept(value1);
			setter2.accept(value2);
			return pojo;
		};
	}

	public static  TupleConstructor3 toPojo(Supplier pojoSupplier,
	                                                                      Consumer setter1,
	                                                                      Consumer setter2,
	                                                                      Consumer setter3) {
		return (value1, value2, value3) -> {
			R pojo = pojoSupplier.get();
			setter1.accept(value1);
			setter2.accept(value2);
			setter3.accept(value3);
			return pojo;
		};
	}

	public static  TupleConstructor4 toPojo(Supplier pojoSupplier,
	                                                                              Consumer setter1,
	                                                                              Consumer setter2,
	                                                                              Consumer setter3,
	                                                                              Consumer setter4) {
		return (value1, value2, value3, value4) -> {
			R pojo = pojoSupplier.get();
			setter1.accept(value1);
			setter2.accept(value2);
			setter3.accept(value3);
			setter4.accept(value4);
			return pojo;
		};
	}

	public static  TupleConstructor5 toPojo(Supplier pojoSupplier,
	                                                                                      Consumer setter1,
	                                                                                      Consumer setter2,
	                                                                                      Consumer setter3,
	                                                                                      Consumer setter4,
	                                                                                      Consumer setter5) {
		return (value1, value2, value3, value4, value5) -> {
			R pojo = pojoSupplier.get();
			setter1.accept(value1);
			setter2.accept(value2);
			setter3.accept(value3);
			setter4.accept(value4);
			setter5.accept(value5);
			return pojo;
		};
	}

	public static  TupleConstructor6 toPojo(Supplier pojoSupplier,
	                                                                                              Consumer setter1,
	                                                                                              Consumer setter2,
	                                                                                              Consumer setter3,
	                                                                                              Consumer setter4,
	                                                                                              Consumer setter5,
	                                                                                              Consumer setter6) {
		return (value1, value2, value3, value4, value5, value6) -> {
			R pojo = pojoSupplier.get();
			setter1.accept(value1);
			setter2.accept(value2);
			setter3.accept(value3);
			setter4.accept(value4);
			setter5.accept(value5);
			setter6.accept(value6);
			return pojo;
		};
	}

	public static  TupleConstructor1 toPojo(R pojo, Consumer setter1) {
		return value1 -> {
			setter1.accept(value1);
			return pojo;
		};
	}

	public static  TupleConstructor2 toPojo(R pojo,
	                                                              Consumer setter1,
	                                                              Consumer setter2) {
		return (value1, value2) -> {
			setter1.accept(value1);
			setter2.accept(value2);
			return pojo;
		};
	}

	public static  TupleConstructor3 toPojo(R pojo,
	                                                                      Consumer setter1,
	                                                                      Consumer setter2,
	                                                                      Consumer setter3) {
		return (value1, value2, value3) -> {
			setter1.accept(value1);
			setter2.accept(value2);
			setter3.accept(value3);
			return pojo;
		};
	}

	public static  TupleConstructor4 toPojo(R pojo,
	                                                                              Consumer setter1,
	                                                                              Consumer setter2,
	                                                                              Consumer setter3,
	                                                                              Consumer setter4) {
		return (value1, value2, value3, value4) -> {
			setter1.accept(value1);
			setter2.accept(value2);
			setter3.accept(value3);
			setter4.accept(value4);
			return pojo;
		};
	}

	public static  TupleConstructor5 toPojo(R pojo,
	                                                                                      Consumer setter1,
	                                                                                      Consumer setter2,
	                                                                                      Consumer setter3,
	                                                                                      Consumer setter4,
	                                                                                      Consumer setter5) {
		return (value1, value2, value3, value4, value5) -> {
			setter1.accept(value1);
			setter2.accept(value2);
			setter3.accept(value3);
			setter4.accept(value4);
			setter5.accept(value5);
			return pojo;
		};
	}

	public static  TupleConstructor6 toPojo(R pojo,
	                                                                                              Consumer setter1,
	                                                                                              Consumer setter2,
	                                                                                              Consumer setter3,
	                                                                                              Consumer setter4,
	                                                                                              Consumer setter5,
	                                                                                              Consumer setter6) {
		return (value1, value2, value3, value4, value5, value6) -> {
			setter1.accept(value1);
			setter2.accept(value2);
			setter3.accept(value3);
			setter4.accept(value4);
			setter5.accept(value5);
			setter6.accept(value6);
			return pojo;
		};
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy