29 lines
1.0 KiB
Java
29 lines
1.0 KiB
Java
package fr.titionfire.ffsaf.net2.packet;
|
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
import fr.titionfire.ffsaf.net2.Client_Thread;
|
|
import fr.titionfire.ffsaf.net2.Message;
|
|
import io.quarkus.hibernate.reactive.panache.common.WithSession;
|
|
import io.quarkus.vertx.SafeVertxContext;
|
|
import jakarta.transaction.Transactional;
|
|
|
|
import java.util.function.BiConsumer;
|
|
|
|
import static fr.titionfire.ffsaf.net2.Client_Thread.MAPPER;
|
|
|
|
public class CIA<T> implements IAction{
|
|
private final Class<T> clazz;
|
|
private final BiConsumer<Client_Thread, Message<T>> iAction;
|
|
|
|
public CIA(Class<T> clazz, BiConsumer<Client_Thread, Message<T>> iAction){
|
|
this.clazz = clazz;
|
|
this.iAction = iAction;
|
|
}
|
|
|
|
@Override
|
|
public void dataIn(Client_Thread client_Thread, Message<JsonNode> message) throws JsonProcessingException {
|
|
iAction.accept(client_Thread, new Message<>(message.uuid(), message.code(), message.type(), MAPPER.treeToValue(message.data(), clazz)));
|
|
}
|
|
}
|