Class 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:
    $Revision: 1.4 $, $Date: 2007/05/05 05:32:20 $
    Author:
    Dan Sandberg, David Becker
    • Constructor Detail

    • Method Detail

      • addBuiltinCommands

        protected void addBuiltinCommands()
      • 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)