01: // Command.java
02: // $Id: ControlCommand.java,v 1.6 2000/08/16 21:37:47 ylafon Exp $
03: // (c) COPYRIGHT MIT and INRIA, 1996.
04: // Please first read the full copyright statement in file COPYRIGHT.html
05:
06: package org.w3c.jigsaw.ssi.commands;
07:
08: import java.util.Dictionary;
09:
10: import org.w3c.util.ArrayDictionary;
11:
12: import org.w3c.jigsaw.http.Request;
13:
14: import org.w3c.jigsaw.ssi.SSIFrame;
15:
16: /**
17: * This interface is used to supply implementations of SSI
18: * commands. They have to be registered in a CommandRegistry, which in
19: * turn is used by the SSIFrame. A control command is a command
20: * like loop or if witch can modify the way to execute commands.
21: * A control command have to register is position and to know the
22: * next position. A position is an integer, witch can be an array
23: * index.
24: * @see org.w3c.jigsaw.ssi.commands.CommandRegistry
25: * @author Benoit Mahe <bmahe@sophia.inria.fr>
26: */
27:
28: public interface ControlCommand extends Command {
29:
30: /**
31: * register the command position in the structure
32: * witch store the SSIFrame.
33: */
34: public void setPosition(SSIFrame ssiframe, Request request,
35: CommandRegistry registry, ArrayDictionary parameters,
36: Dictionary variables, int position);
37:
38: /**
39: * Give the next position in the structure witch
40: * store the SSIFrame.
41: * @return An integer
42: * @exception ControlCommandException if action failed.
43: */
44: public int jumpTo(SSIFrame ssiframe, Request request,
45: CommandRegistry registry, ArrayDictionary parameters,
46: Dictionary variables) throws ControlCommandException;
47:
48: }
|