mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
fix code
This commit is contained in:
parent
d10879c5e9
commit
a547909d5e
@ -1,10 +1,5 @@
|
||||
package cn.hutool.core.builder;
|
||||
|
||||
import cn.hutool.core.lang.func.Consumer1;
|
||||
import cn.hutool.core.lang.func.Consumer2;
|
||||
import cn.hutool.core.lang.func.Consumer3;
|
||||
import cn.hutool.core.lang.func.Consumer4;
|
||||
import cn.hutool.core.lang.func.Consumer5;
|
||||
import cn.hutool.core.lang.func.Supplier1;
|
||||
import cn.hutool.core.lang.func.Supplier2;
|
||||
import cn.hutool.core.lang.func.Supplier3;
|
||||
@ -13,6 +8,7 @@ import cn.hutool.core.lang.func.Supplier5;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@ -190,85 +186,13 @@ public class GenericBuilder<T> implements Builder<T> {
|
||||
/**
|
||||
* 调用1参数方法
|
||||
*
|
||||
* @param consumer 1参数Consumer
|
||||
* @param p1 参数一
|
||||
* @param <P1> 参数一类型
|
||||
* @param consumer 1参数Consumer,一般为Setter方法引用
|
||||
* @param p1 参数一
|
||||
* @return GenericBuilder对象
|
||||
*/
|
||||
public <P1> GenericBuilder<T> with(Consumer1<T, P1> consumer, P1 p1) {
|
||||
modifiers.add(consumer.toConsumer(p1));
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 调用2参数方法
|
||||
*
|
||||
* @param consumer 2参数Consumer
|
||||
* @param p1 参数一
|
||||
* @param p2 参数二
|
||||
* @param <P1> 参数一类型
|
||||
* @param <P2> 参数二类型
|
||||
* @return GenericBuilder对象
|
||||
*/
|
||||
public <P1, P2> GenericBuilder<T> with(Consumer2<T, P1, P2> consumer, P1 p1, P2 p2) {
|
||||
modifiers.add(consumer.toConsumer(p1, p2));
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 调用3参数方法
|
||||
*
|
||||
* @param consumer 3参数Consumer
|
||||
* @param p1 参数一
|
||||
* @param p2 参数二
|
||||
* @param p3 参数三
|
||||
* @param <P1> 参数一类型
|
||||
* @param <P2> 参数二类型
|
||||
* @param <P3> 参数三类型
|
||||
* @return GenericBuilder对象
|
||||
*/
|
||||
public <P1, P2, P3> GenericBuilder<T> with(Consumer3<T, P1, P2, P3> consumer, P1 p1, P2 p2, P3 p3) {
|
||||
modifiers.add(consumer.toConsumer(p1, p2, p3));
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 调用4参数方法
|
||||
*
|
||||
* @param consumer 4参数Consumer
|
||||
* @param p1 参数一
|
||||
* @param p2 参数二
|
||||
* @param p3 参数三
|
||||
* @param p4 参数四
|
||||
* @param <P1> 参数一类型
|
||||
* @param <P2> 参数二类型
|
||||
* @param <P3> 参数三类型
|
||||
* @param <P4> 参数四类型
|
||||
* @return GenericBuilder对象
|
||||
*/
|
||||
public <P1, P2, P3, P4> GenericBuilder<T> with(Consumer4<T, P1, P2, P3, P4> consumer, P1 p1, P2 p2, P3 p3, P4 p4) {
|
||||
modifiers.add(consumer.toConsumer(p1, p2, p3, p4));
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* 调用5参数方法
|
||||
*
|
||||
* @param consumer 5参数Consumer
|
||||
* @param p1 参数一
|
||||
* @param p2 参数二
|
||||
* @param p3 参数三
|
||||
* @param p4 参数四
|
||||
* @param p5 参数五
|
||||
* @param <P1> 参数一类型
|
||||
* @param <P2> 参数二类型
|
||||
* @param <P3> 参数三类型
|
||||
* @param <P4> 参数四类型
|
||||
* @param <P5> 参数五类型
|
||||
* @return GenericBuilder对象
|
||||
*/
|
||||
public <P1, P2, P3, P4, P5> GenericBuilder<T> with(Consumer5<T, P1, P2, P3, P4, P5> consumer, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) {
|
||||
modifiers.add(consumer.toConsumer(p1, p2, p3, p4, p5));
|
||||
public <P1> GenericBuilder<T> with(BiConsumer<T, P1> consumer, P1 p1) {
|
||||
modifiers.add(instant -> consumer.accept(instant, p1));
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -1,32 +0,0 @@
|
||||
package cn.hutool.core.lang.func;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
* 1参数Consumer
|
||||
*
|
||||
* @param <T> 目标类型
|
||||
* @param <P1> 参数一类型
|
||||
* @author TomXin
|
||||
* @since 5.7.21
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface Consumer1<T, P1> {
|
||||
/**
|
||||
* 接收参数方法
|
||||
*
|
||||
* @param t 对象
|
||||
* @param p1 参数1
|
||||
*/
|
||||
void accept(T t, P1 p1);
|
||||
|
||||
/**
|
||||
* 将带有参数的Consumer转换为无参{@link Consumer}
|
||||
*
|
||||
* @param p1 参数1
|
||||
* @return {@link Consumer}
|
||||
*/
|
||||
default Consumer<T> toConsumer(P1 p1) {
|
||||
return instant -> accept(instant, p1);
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
package cn.hutool.core.lang.func;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
* 2参数Consumer
|
||||
*
|
||||
* @param <T> 目标类型
|
||||
* @param <P1> 参数一类型
|
||||
* @param <P2> 参数二类型
|
||||
* @author TomXin
|
||||
* @since 5.7.21
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface Consumer2<T, P1, P2> {
|
||||
|
||||
/**
|
||||
* 接收参数方法
|
||||
*
|
||||
* @param t 对象
|
||||
* @param p1 参数一
|
||||
* @param p2 参数二
|
||||
*/
|
||||
void accept(T t, P1 p1, P2 p2);
|
||||
|
||||
/**
|
||||
* 将带有参数的Consumer转换为无参{@link Consumer}
|
||||
*
|
||||
* @param p1 参数1
|
||||
* @param p2 参数2
|
||||
* @return {@link Consumer}
|
||||
*/
|
||||
default Consumer<T> toConsumer(P1 p1, P2 p2) {
|
||||
return instant -> accept(instant, p1, p2);
|
||||
}
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
package cn.hutool.core.lang.func;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
* 3参数Consumer
|
||||
*
|
||||
* @param <T> 目标类型
|
||||
* @param <P1> 参数一类型
|
||||
* @param <P2> 参数二类型
|
||||
* @param <P3> 参数三类型
|
||||
* @author TomXin
|
||||
* @since 5.7.21
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface Consumer3<T, P1, P2, P3> {
|
||||
/**
|
||||
* 接收参数方法
|
||||
*
|
||||
* @param t 对象
|
||||
* @param p1 参数一
|
||||
* @param p2 参数二
|
||||
* @param p3 参数三
|
||||
*/
|
||||
void accept(T t, P1 p1, P2 p2, P3 p3);
|
||||
|
||||
/**
|
||||
* 将带有参数的Consumer转换为无参{@link Consumer}
|
||||
*
|
||||
* @param p1 参数1
|
||||
* @param p2 参数2
|
||||
* @param p3 参数3
|
||||
* @return {@link Consumer}
|
||||
*/
|
||||
default Consumer<T> toConsumer(P1 p1, P2 p2, P3 p3) {
|
||||
return instant -> accept(instant, p1, p2, p3);
|
||||
}
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
package cn.hutool.core.lang.func;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
* 4参数Consumer
|
||||
*
|
||||
* @param <T> 目标类型
|
||||
* @param <P1> 参数一类型
|
||||
* @param <P2> 参数二类型
|
||||
* @param <P3> 参数三类型
|
||||
* @param <P4> 参数四类型
|
||||
* @author TomXin
|
||||
* @since 5.7.21
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface Consumer4<T, P1, P2, P3, P4> {
|
||||
/**
|
||||
* 接收参数方法
|
||||
*
|
||||
* @param t 对象
|
||||
* @param p1 参数一
|
||||
* @param p2 参数二
|
||||
* @param p3 参数三
|
||||
* @param p4 参数四
|
||||
*/
|
||||
void accept(T t, P1 p1, P2 p2, P3 p3, P4 p4);
|
||||
|
||||
/**
|
||||
* 将带有参数的Consumer转换为无参{@link Consumer}
|
||||
*
|
||||
* @param p1 参数1
|
||||
* @param p2 参数2
|
||||
* @param p3 参数3
|
||||
* @param p4 参数4
|
||||
* @return {@link Consumer}
|
||||
*/
|
||||
default Consumer<T> toConsumer(P1 p1, P2 p2, P3 p3, P4 p4) {
|
||||
return instant -> accept(instant, p1, p2, p3, p4);
|
||||
}
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
package cn.hutool.core.lang.func;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
/**
|
||||
* 5参数Consumer
|
||||
*
|
||||
* @param <T> 目标 类型
|
||||
* @param <P1> 参数一 类型
|
||||
* @param <P2> 参数二 类型
|
||||
* @param <P3> 参数三 类型
|
||||
* @param <P4> 参数四 类型
|
||||
* @param <P5> 参数五 类型
|
||||
* @author TomXin
|
||||
* @since 5.7.21
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface Consumer5<T, P1, P2, P3, P4, P5> {
|
||||
/**
|
||||
* 接收参数方法
|
||||
*
|
||||
* @param t 对象
|
||||
* @param p1 参数一
|
||||
* @param p2 参数二
|
||||
* @param p3 参数三
|
||||
* @param p4 参数四
|
||||
* @param p5 参数五
|
||||
*/
|
||||
void accept(T t, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5);
|
||||
|
||||
/**
|
||||
* 将带有参数的Consumer转换为无参{@link Consumer}
|
||||
*
|
||||
* @param p1 参数1
|
||||
* @param p2 参数2
|
||||
* @param p3 参数3
|
||||
* @param p4 参数4
|
||||
* @param p5 参数5
|
||||
* @return {@link Consumer}
|
||||
*/
|
||||
default Consumer<T> toConsumer(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) {
|
||||
return instant -> accept(instant, p1, p2, p3, p4, p5);
|
||||
}
|
||||
}
|
@ -1,7 +1,10 @@
|
||||
package cn.hutool.core.builder;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.ToString;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
@ -58,6 +61,7 @@ public class GenericBuilderTest {
|
||||
@Getter
|
||||
@Setter
|
||||
@ToString
|
||||
@Accessors(chain = true)
|
||||
public static class Box {
|
||||
private Long id;
|
||||
private String title;
|
||||
|
Loading…
x
Reference in New Issue
Block a user