Package juju.reattore.server.intercept.impl

Source Code of juju.reattore.server.intercept.impl.DelegatingInterceptor

/*  Reattore HTTP Server

    Copyright (C) 2002 Michael Hope <michaelh@juju.net.nz>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

    $Id: DelegatingInterceptor.java,v 1.3 2003/03/05 04:31:57 michaelh Exp $
*/

package juju.reattore.server.intercept.impl;

import java.util.*;

import juju.reattore.protocol.http.*;
import juju.reattore.server.intercept.Interceptor;

/** Interceptor that delegates to child interceptors in the order that
    they were added.

    @tag delegator
    @group Interceptor
    @children Interceptor
*/
public class DelegatingInterceptor
    implements Interceptor {

    private List children = new ArrayList();

    /** Adds a new child to delegate to.
       
        @param child  The interceptor to add.
    */
    public void addChild(Interceptor child) {
        children.add(child);
    }

    /** @see Interceptor */
    public boolean process(HttpRequest req, HttpResponse resp) {

        /* Where's my map function, eh? */
        for (Iterator i = children.iterator(); i.hasNext();) {
            Interceptor in = (Interceptor)i.next();

            if (in.process(req, resp)) {
                return true;
            }
        }

        return false;
    }
}
TOP

Related Classes of juju.reattore.server.intercept.impl.DelegatingInterceptor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.