1 /****************************************************************
2 * Licensed to the Apache Software Foundation (ASF) under one *
3 * or more contributor license agreements. See the NOTICE file *
4 * distributed with this work for additional information *
5 * regarding copyright ownership. The ASF licenses this file *
6 * to you under the Apache License, Version 2.0 (the *
7 * "License"); you may not use this file except in compliance *
8 * with the License. You may obtain a copy of the License at *
9 * *
10 * http://www.apache.org/licenses/LICENSE-2.0 *
11 * *
12 * Unless required by applicable law or agreed to in writing, *
13 * software distributed under the License is distributed on an *
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
15 * KIND, either express or implied. See the License for the *
16 * specific language governing permissions and limitations *
17 * under the License. *
18 ****************************************************************/
19
20 package org.apache.james.mpt;
21
22 import java.util.List;
23
24 /**
25 * Scripts a protocol interaction.
26 */
27 public interface ProtocolInteractor {
28
29 /**
30 * adds a new Client request line to the test elements
31 */
32 public abstract void CL(String clientLine);
33
34 /**
35 * adds a new Server Response line to the test elements, with the specified
36 * location.
37 */
38 public abstract void SL(String serverLine, String location);
39
40 /**
41 * adds a new Server Unordered Block to the test elements.
42 */
43 public abstract void SUB(List<String> serverLines, String location);
44
45 /**
46 * adds a new Client request line to the test elements
47 */
48 public abstract void CL(int sessionNumber, String clientLine);
49
50 /**
51 * Adds a continuation. To allow one thread to be used for testing.
52 */
53 public abstract void CONT(int sessionNumber) throws Exception;
54
55 /**
56 * adds a new Server Response line to the test elements, with the specified
57 * location.
58 */
59 public abstract void SL(int sessionNumber, String serverLine,
60 String location, String lastClientMessage);
61
62 /**
63 * adds a new Server Unordered Block to the test elements.
64 */
65 public abstract void SUB(int sessionNumber, List<String> serverLines,
66 String location, String lastClientMessage);
67
68 }