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

com.wizzardo.http.ChainHandler Maven / Gradle / Ivy

The newest version!
package com.wizzardo.http;

import com.wizzardo.http.request.Request;
import com.wizzardo.http.response.Response;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * @author: wizzardo
 * Date: 07.09.14
 */
public class ChainHandler implements Handler {
    protected List handlers = new ArrayList<>();

    @Override
    public Response handle(Request request, Response response) {
        Iterator iterator = handlers.iterator();
        while (!response.isCommitted() && iterator.hasNext()) {
            Link link = iterator.next();
            if (!link.handle(request, response))
                break;
        }

        return response;
    }

    public ChainHandler append(Link link) {
        handlers.add(link);
        return this;
    }

    public static interface Link {
        public boolean handle(Request request, Response response);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy