Newer
Older
wicketspringdata / src / main / java / ru / simplex_software / wicket_springdata / functions / BiHandlerWrapper.java
package ru.simplex_software.wicket_springdata.functions;

import java.io.Serializable;

/**
 * Обертка над операцией выполняемой с 2 аргументами.
 * Проверяет обработчик на null при вызове.
 *
 * @param <T> тип 1 аргумента.
 * @param <V> тип 2 аргумента.
 */
public class BiHandlerWrapper<T, V> implements Serializable {

    /**
     * Обработчик.
     */
    private SerializableBiConsumer<T, V> handler;

    /**
     * Установка обработчика.
     *
     * @param handler обработчик.
     */
    public void setHandler(SerializableBiConsumer<T, V> handler) {
        this.handler = handler;
    }

    /**
     * Вызов обработчика.
     *
     * @param tData 1 аргумент.
     * @param vData 2 аргумент.
     */
    public void fire(T tData, V vData) {
        if (handler != null) {
            handler.accept(tData, vData);
        }
    }
}