Package org.apache.catalina.ssi

## Class SSIMediator

- java.lang.Object
- - org.apache.catalina.ssi.SSIMediator

-     public class SSIMediator
      extends java.lang.Object

  Allows the different SSICommand implementations to share data/talk to each other
  Author:
    Bip Thelin, Amy Roh, Paul Speed, Dan Sandberg, David Becker

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.lang.String` | `className` |
    `protected org.apache.catalina.ssi.SSIConditionalState` | `conditionalState` |
    `protected java.lang.String` | `configErrMsg` |
    `protected java.lang.String` | `configSizeFmt` |
    `protected java.lang.String` | `configTimeFmt` |
    `protected static java.lang.String` | `DEFAULT_CONFIG_ERR_MSG` |
    `protected static java.lang.String` | `DEFAULT_CONFIG_SIZE_FMT` |
    `protected static java.lang.String` | `DEFAULT_CONFIG_TIME_FMT` |
    `protected static java.lang.String` | `ENCODING_ENTITY` |
    `protected static java.lang.String` | `ENCODING_NONE` |
    `protected static java.lang.String` | `ENCODING_URL` |
    `protected int` | `lastMatchCount` |
    `protected long` | `lastModifiedDate` |
    `protected SSIExternalResolver` | `ssiExternalResolver` |
    `protected Strftime` | `strftime` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SSIMediator​(SSIExternalResolver ssiExternalResolver, long lastModifiedDate)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `clearMatchGroups()` |
    `protected java.lang.String` | `encode​(java.lang.String value, java.lang.String encoding)` |
    `protected java.lang.String` | `formatDate​(java.util.Date date, java.util.TimeZone timeZone)` |
    `org.apache.catalina.ssi.SSIConditionalState` | `getConditionalState()` |
    `java.lang.String` | `getConfigErrMsg()` |
    `java.lang.String` | `getConfigSizeFmt()` |
    `java.lang.String` | `getConfigTimeFmt()` |
    `long` | `getFileLastModified​(java.lang.String path, boolean virtual)` |
    `long` | `getFileSize​(java.lang.String path, boolean virtual)` |
    `java.lang.String` | `getFileText​(java.lang.String path, boolean virtual)` |
    `java.util.Collection<java.lang.String>` | `getVariableNames()` |
    `java.lang.String` | `getVariableValue​(java.lang.String variableName)` |
    `java.lang.String` | `getVariableValue​(java.lang.String variableName, java.lang.String encoding)` |
    `protected boolean` | `isNameReserved​(java.lang.String name)` |
    `void` | `log​(java.lang.String message)` |
    `void` | `log​(java.lang.String message, java.lang.Throwable throwable)` |
    `protected void` | `populateMatchGroups​(java.util.regex.Matcher matcher)` |
    `void` | `setConfigErrMsg​(java.lang.String configErrMsg)` |
    `void` | `setConfigSizeFmt​(java.lang.String configSizeFmt)` |
    `void` | `setConfigTimeFmt​(java.lang.String configTimeFmt)` |
    `void` | `setConfigTimeFmt​(java.lang.String configTimeFmt, boolean fromConstructor)` |
    `protected void` | `setDateVariables​(boolean fromConstructor)` |
    `void` | `setVariableValue​(java.lang.String variableName, java.lang.String variableValue)` |
    `java.lang.String` | `substituteVariables​(java.lang.String val)` | Applies variable substitution to the specified String and returns the new resolved string.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### ENCODING_NONE

          protected static final java.lang.String ENCODING_NONE

      See Also:
        Constant Field Values

    - #### ENCODING_ENTITY

          protected static final java.lang.String ENCODING_ENTITY

      See Also:
        Constant Field Values

    - #### ENCODING_URL

          protected static final java.lang.String ENCODING_URL

      See Also:
        Constant Field Values

    - #### DEFAULT_CONFIG_ERR_MSG

          protected static final java.lang.String DEFAULT_CONFIG_ERR_MSG

      See Also:
        Constant Field Values

    - #### DEFAULT_CONFIG_TIME_FMT

          protected static final java.lang.String DEFAULT_CONFIG_TIME_FMT

      See Also:
        Constant Field Values

    - #### DEFAULT_CONFIG_SIZE_FMT

          protected static final java.lang.String DEFAULT_CONFIG_SIZE_FMT

      See Also:
        Constant Field Values

    - #### configErrMsg

          protected java.lang.String configErrMsg

    - #### configTimeFmt

          protected java.lang.String configTimeFmt

    - #### configSizeFmt

          protected java.lang.String configSizeFmt

    - #### className

          protected final java.lang.String className

    - #### ssiExternalResolver

          protected final SSIExternalResolver ssiExternalResolver

    - #### lastModifiedDate

          protected final long lastModifiedDate

    - #### strftime

          protected Strftime strftime

    - #### conditionalState

          protected final org.apache.catalina.ssi.SSIConditionalState conditionalState

    - #### lastMatchCount

          protected int lastMatchCount

  - ### Constructor Detail

    - #### SSIMediator

          public SSIMediator​(SSIExternalResolver ssiExternalResolver,
                             long lastModifiedDate)

  - ### Method Detail

    - #### setConfigErrMsg

          public void setConfigErrMsg​(java.lang.String configErrMsg)

    - #### setConfigTimeFmt

          public void setConfigTimeFmt​(java.lang.String configTimeFmt)

    - #### setConfigTimeFmt

          public void setConfigTimeFmt​(java.lang.String configTimeFmt,
                                       boolean fromConstructor)

    - #### setConfigSizeFmt

          public void setConfigSizeFmt​(java.lang.String configSizeFmt)

    - #### getConfigErrMsg

          public java.lang.String getConfigErrMsg()

    - #### getConfigTimeFmt

          public java.lang.String getConfigTimeFmt()

    - #### getConfigSizeFmt

          public java.lang.String getConfigSizeFmt()

    - #### getConditionalState

          public org.apache.catalina.ssi.SSIConditionalState getConditionalState()

    - #### getVariableNames

          public java.util.Collection<java.lang.String> getVariableNames()

    - #### getFileSize

          public long getFileSize​(java.lang.String path,
                                  boolean virtual)
                           throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getFileLastModified

          public long getFileLastModified​(java.lang.String path,
                                          boolean virtual)
                                   throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getFileText

          public java.lang.String getFileText​(java.lang.String path,
                                              boolean virtual)
                                       throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### isNameReserved

          protected boolean isNameReserved​(java.lang.String name)

    - #### getVariableValue

          public java.lang.String getVariableValue​(java.lang.String variableName)

    - #### setVariableValue

          public void setVariableValue​(java.lang.String variableName,
                                       java.lang.String variableValue)

    - #### getVariableValue

          public java.lang.String getVariableValue​(java.lang.String variableName,
                                                   java.lang.String encoding)

    - #### substituteVariables

          public java.lang.String substituteVariables​(java.lang.String val)

      Applies variable substitution to the specified String and returns the new resolved string.
      Parameters:
        `val` - The value which should be checked
      Returns:
        the value after variable substitution

    - #### formatDate

          protected java.lang.String formatDate​(java.util.Date date,
                                                java.util.TimeZone timeZone)

    - #### encode

          protected java.lang.String encode​(java.lang.String value,
                                            java.lang.String encoding)

    - #### log

          public void log​(java.lang.String message)

    - #### log

          public void log​(java.lang.String message,
                          java.lang.Throwable throwable)

    - #### setDateVariables

          protected void setDateVariables​(boolean fromConstructor)

    - #### clearMatchGroups

          protected void clearMatchGroups()

    - #### populateMatchGroups

          protected void populateMatchGroups​(java.util.regex.Matcher matcher)