Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.catalina.ssi
Class SSIProcessor

    java.lang.Object
      org.apache.catalina.ssi.SSIProcessor

    public class SSIProcessor

extends Object

The entry point to SSI processing. This class does the actual parsing, delegating to the SSIMediator, SSICommand, and SSIExternalResolver as necessary[

Version:
  $Id: SSIProcessor.java 1043105 2010-12-07 15:42:32Z markt $
Author:
  Dan Sandberg, David Becker

Field Summary
`protected boolean` | `allowExec`
`protected static int` | `BUFFER_SIZE`
`protected static String` | `COMMAND_END` The end pattern
`protected static String` | `COMMAND_START` The start pattern
`protected HashMap<String,SSICommand>` | `commands`
`protected int` | `debug`
`protected SSIExternalResolver` | `ssiExternalResolver`

Constructor Summary
`SSIProcessor(SSIExternalResolver ssiExternalResolver, int debug, boolean allowExec)`

Method Summary
`protected void` | `addBuiltinCommands()`
`void` | `addCommand(String name, SSICommand command)`
`protected boolean` | `charCmp(String buf, int index, String command)`
`protected boolean` | `isQuote(char c)`
`protected boolean` | `isSpace(char c)`
`protected String[]` | `parseParamNames(StringBuilder cmd, int start)` Parse a StringBuilder and take out the param type token.
`protected String[]` | `parseParamValues(StringBuilder cmd, int start, int count)` Parse a StringBuilder and take out the param token.
`long` | `process(Reader reader, long lastModifiedDate, PrintWriter writer)` Process a file with server-side commands, reading from reader and writing the processed version to writer.

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

Field Detail

### COMMAND_START

    protected static final String COMMAND_START

  The start pattern

  See Also:
    Constant Field Values

### COMMAND_END

    protected static final String COMMAND_END

  The end pattern

  See Also:
    Constant Field Values

### BUFFER_SIZE

    protected static final int BUFFER_SIZE

See Also:
  Constant Field Values

### ssiExternalResolver

    protected SSIExternalResolver ssiExternalResolver

### commands

    protected HashMap<String,SSICommand> commands

### debug

    protected int debug

### allowExec

    protected final boolean allowExec

Constructor Detail

### SSIProcessor

    public SSIProcessor(SSIExternalResolver ssiExternalResolver,
                        int debug,
                        boolean allowExec)

Method Detail

### addBuiltinCommands

    protected void addBuiltinCommands()

### addCommand

    public void addCommand(String name,
                           SSICommand command)

### process

    public long process(Reader reader,
                        long lastModifiedDate,
                        PrintWriter writer)
                 throws IOException

  Process a file with server-side commands, reading from reader and writing the processed version to writer. NOTE: We really should be doing this in a streaming way rather than converting it to an array first.

  Parameters:
    `reader` - the reader to read the file containing SSIs from
    `writer` - the writer to write the file with the SSIs processed.
  Returns:
    the most current modified date resulting from any SSI commands
  Throws:
    `IOException` - when things go horribly awry. Should be unlikely since the SSICommand usually catches 'normal' IOExceptions.

### parseParamNames

    protected String[] parseParamNames(StringBuilder cmd,
                                       int start)

  Parse a StringBuilder and take out the param type token. Called from `requestHandler`

  Parameters:
    `cmd` - a value of type 'StringBuilder'
  Returns:
    a value of type 'String[]'

### parseParamValues

    protected String[] parseParamValues(StringBuilder cmd,
                                        int start,
                                        int count)

  Parse a StringBuilder and take out the param token. Called from `requestHandler`

  Parameters:
    `cmd` - a value of type 'StringBuilder'
  Returns:
    a value of type 'String[]'

### charCmp

    protected boolean charCmp(String buf,
                              int index,
                              String command)

### isSpace

    protected boolean isSpace(char c)

### isQuote

    protected boolean isQuote(char c)

Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.