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

com.tvd12.ezymq.common.handler.EzyMQRequestInterceptors Maven / Gradle / Ivy

There is a newer version: 1.2.6
Show newest version
package com.tvd12.ezymq.common.handler;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

public class EzyMQRequestInterceptors
    implements EzyMQRequestInterceptor {

    protected final List interceptors =
        new ArrayList<>();

    public void addInterceptor(I interceptor) {
        this.interceptors.add(interceptor);
        this.sortInterceptors();
    }

    public void addInterceptors(Collection interceptors) {
        this.interceptors.addAll(interceptors);
        this.sortInterceptors();
    }

    protected void sortInterceptors() {}

    @Override
    public void preHandle(String cmd, Object message) {
        for (I interceptor : interceptors) {
            interceptor.preHandle(cmd, message);
        }
    }

    @Override
    public void postHandle(String cmd, Object message, Object result) {
        for (EzyMQRequestInterceptor interceptor : interceptors) {
            interceptor.postHandle(cmd, message, result);
        }
    }

    @Override
    public void postHandle(String cmd, Object message, Throwable e) {
        for (EzyMQRequestInterceptor interceptor : interceptors) {
            interceptor.postHandle(cmd, message, e);
        }
    }
}