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
`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
`SSIMediator​(SSIExternalResolver ssiExternalResolver, long lastModifiedDate)`

### Method Summary

All Methods Instance Methods Concrete Methods
`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)