## org.w3c.jigsaw.ssi.commands
Interface Command

All Known Subinterfaces:
  ControlCommand

All Known Implementing Classes:
  BasicCommand, ConfigCommand, CounterCommand, CookieCommand, EchoCommand, jdbcCommand, ServletCommand

public abstract interface Command

This interface is used to supply implementations of SSI commands. They have to be registered in a CommandRegistry, which in turn is used by the SSIFrame.

See Also:
  `CommandRegistry`

Method Summary
`boolean` | `acceptCaching()` return true if reply can be cached.
`Reply` | `execute(SSIFrame resource, Request request, ArrayDictionary parameters, java.util.Dictionary variables)` Executes this command.
`java.lang.String` | `getName()` Returns the name of this command.
`java.lang.String` | `getValue(java.util.Dictionary variables, java.lang.String variable, Request request)` Returns the (String) value of the given variable.

Method Detail

### execute

    public Reply execute(SSIFrame resource,
                         Request request,
                         ArrayDictionary parameters,
                         java.util.Dictionary variables)

  Executes this command. Might modify variables. Must not modify the parameters.

  It may handle conditional requests, except that if it replies with a status of HTTP.NOT_MODIFIED, it must still reply with a content (the same content that it would have returned for an inconditional request). This is because further SSI commands down the line may decide thay they have been modified, and then a content must be emitted by SSIFrame.

  Parameters:
    `request` - the original HTTP request
    `parameters` - The parameters for this command
    `variables` - The global variables for the parse
  Returns:
    a Reply with the output from the command

### getName

    public java.lang.String getName()

  Returns the name of this command. (Case sensitivity is up to the `lookupCommand` method in the command registry.)
  Returns:
    the name of the command
  See Also:
    `CommandRegistry.lookupCommand(java.lang.String)`

### getValue

    public java.lang.String getValue(java.util.Dictionary variables,
                                     java.lang.String variable,
                                     Request request)

  Returns the (String) value of the given variable.
  Returns:
    a String instance.

### acceptCaching

    public boolean acceptCaching()

  return true if reply can be cached.
  Returns:
    a boolean.