29 lines
727 B
Java
29 lines
727 B
Java
package fr.titionfire.ffsaf.utils;
|
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
import com.fasterxml.jackson.core.TreeNode;
|
|
|
|
import java.util.function.Consumer;
|
|
|
|
import static fr.titionfire.ffsaf.net2.Client_Thread.MAPPER;
|
|
|
|
public class JsonConsumer<T> implements Consumer<T> {
|
|
|
|
private final Class<T> clazz;
|
|
private final Consumer<T> consumer;
|
|
|
|
public JsonConsumer(Class<T> clazz, Consumer<T> consumer){
|
|
this.clazz = clazz;
|
|
this.consumer = consumer;
|
|
}
|
|
|
|
public void castAndAccept (TreeNode message) throws JsonProcessingException {
|
|
this.accept(MAPPER.treeToValue(message, clazz));
|
|
}
|
|
|
|
@Override
|
|
public void accept(T t) {
|
|
consumer.accept(t);
|
|
}
|
|
}
|