## org.w3c.jigsaw.ssi.commands
Class CounterCommand

    java.lang.Object
      |
      +--org.w3c.jigsaw.ssi.commands.CounterCommand

public class CounterCommand
extends java.lang.Object
implements Command

Implementation of the SSI `counter` command. Used to do things like cpt = cpt + 1.

Field Summary
`protected int` `defaultinit`

Constructor Summary
`CounterCommand()`

Method Summary
`boolean` `acceptCaching()` return true if reply can be cached.
`protected void` `changeCounterValue(java.util.Dictionary d, java.lang.String name, java.lang.String incr)`
`Reply` `execute(SSIFrame ssiframe, Request request, ArrayDictionary parameters, java.util.Dictionary variables)` Executes this command.
`protected int` `getCounterValue(java.util.Dictionary d, java.lang.String name)`
`java.lang.String` `getName()` Returns the name of this command.
`java.lang.String` `getValue(java.util.Dictionary variables, java.lang.String var, Request request)` Returns the (String) value of the given variable.
`protected void` `initCounterValue(java.util.Dictionary d, java.lang.String name, java.lang.String value)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### defaultinit

    protected final int defaultinit

Constructor Detail

### CounterCommand

    public CounterCommand()

Method Detail

### getName

    public java.lang.String getName()

  Description copied from interface: Command
  Returns the name of this command. (Case sensitivity is up to the `lookupCommand` method in the command registry.)
  Specified by:
    getName in interface Command
  Tags copied from interface: Command
  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 var,
                                     Request request)

  Description copied from interface: Command
  Returns the (String) value of the given variable.
  Specified by:
    getValue in interface Command
  Tags copied from interface: Command
  Returns:
    a String instance.

### initCounterValue

    protected void initCounterValue(java.util.Dictionary d,
                                    java.lang.String name,
                                    java.lang.String value)

### changeCounterValue

    protected void changeCounterValue(java.util.Dictionary d,
                                      java.lang.String name,
                                      java.lang.String incr)

### getCounterValue

    protected int getCounterValue(java.util.Dictionary d,
                                  java.lang.String name)

### acceptCaching

    public boolean acceptCaching()

  return true if reply can be cached.
  Specified by:
    acceptCaching in interface Command
  Returns:
    a boolean.

### execute

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

  Description copied from interface: Command
  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.

  Specified by:
    execute in interface Command
  Tags copied from interface: Command
  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