1 /*
2 * Copyright (c) 2005-2007 Creative Sphere Limited.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 *
10 * Creative Sphere - initial API and implementation
11 *
12 */
13 package org.abstracthorizon.danube.http.matcher;
14
15 import org.abstracthorizon.danube.connection.ConnectionHandler;
16 import org.abstracthorizon.danube.http.HTTPConnection;
17
18 /**
19 * This interface defines matcher for {@link org.abstracthorizon.danube.http.Selector} class.
20 *
21 * @author Daniel Sendula
22 */
23 public interface Matcher {
24
25 /**
26 * Returns stored {@link ConnectionHandler}
27 * @return stored {@link ConnectionHandler}
28 */
29 public ConnectionHandler getConnectionHandler();
30
31 /**
32 * Returns <code>true</code> if no other {@link ConnectionHandler} should be processed after this one
33 * @return <code>true</code> if no other {@link ConnectionHandler} should be processed after this one
34 */
35 public boolean isStopOnMatch();
36
37 /**
38 * Returns <code>true</code> if uri from connection is matched
39 * @param connection http connection
40 * @return <code>true</code> if uri from connection is matched
41 */
42 public boolean matches(HTTPConnection connection);
43
44 /**
45 * Adjusts connection for nested connection handler to be invoked
46 * @param connection connection to be a used
47 */
48 public void adjustForInvocation(HTTPConnection connection);
49 }