Package org.apache.catalina.ssi

## Class SSIMediator

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

    public class SSIMediator
    extends 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 String` `className`
`protected org.apache.catalina.ssi.SSIConditionalState` `conditionalState`
`protected String` `configErrMsg`
`protected String` `configSizeFmt`
`protected String` `configTimeFmt`
`protected static String` `DEFAULT_CONFIG_ERR_MSG`
`protected static String` `DEFAULT_CONFIG_SIZE_FMT`
`protected static String` `DEFAULT_CONFIG_TIME_FMT`
`protected static String` `ENCODING_ENTITY`
`protected static String` `ENCODING_NONE`
`protected static 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 String` `encode​(String value, String encoding)`
`protected String` `formatDate​(Date date, TimeZone timeZone)`
`org.apache.catalina.ssi.SSIConditionalState` `getConditionalState()`
`String` `getConfigErrMsg()`
`String` `getConfigSizeFmt()`
`String` `getConfigTimeFmt()`
`long` `getFileLastModified​(String path, boolean virtual)`
`long` `getFileSize​(String path, boolean virtual)`
`String` `getFileText​(String path, boolean virtual)`
`Collection<String>` `getVariableNames()`
`String` `getVariableValue​(String variableName)`
`String` `getVariableValue​(String variableName, String encoding)`
`protected boolean` `isNameReserved​(String name)`
`void` `log​(String message)`
`void` `log​(String message, Throwable throwable)`
`protected void` `populateMatchGroups​(Matcher matcher)`
`void` `setConfigErrMsg​(String configErrMsg)`
`void` `setConfigSizeFmt​(String configSizeFmt)`
`void` `setConfigTimeFmt​(String configTimeFmt)`
`void` `setConfigTimeFmt​(String configTimeFmt, boolean fromConstructor)`
`protected void` `setDateVariables​(boolean fromConstructor)`
`void` `setVariableValue​(String variableName, String variableValue)`
`String` `substituteVariables​(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 String ENCODING_NONE

See Also:
  Constant Field Values

#### ENCODING_ENTITY

    protected static final String ENCODING_ENTITY

See Also:
  Constant Field Values

#### ENCODING_URL

    protected static final String ENCODING_URL

See Also:
  Constant Field Values

#### DEFAULT_CONFIG_ERR_MSG

    protected static final String DEFAULT_CONFIG_ERR_MSG

See Also:
  Constant Field Values

#### DEFAULT_CONFIG_TIME_FMT

    protected static final String DEFAULT_CONFIG_TIME_FMT

See Also:
  Constant Field Values

#### DEFAULT_CONFIG_SIZE_FMT

    protected static final String DEFAULT_CONFIG_SIZE_FMT

See Also:
  Constant Field Values

#### configErrMsg

    protected String configErrMsg

#### configTimeFmt

    protected String configTimeFmt

#### configSizeFmt

    protected String configSizeFmt

#### className

    protected final 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​(String configErrMsg)

#### setConfigTimeFmt

    public void setConfigTimeFmt​(String configTimeFmt)

#### setConfigTimeFmt

    public void setConfigTimeFmt​(String configTimeFmt,
                                 boolean fromConstructor)

#### setConfigSizeFmt

    public void setConfigSizeFmt​(String configSizeFmt)

#### getConfigErrMsg

    public String getConfigErrMsg()

#### getConfigTimeFmt

    public String getConfigTimeFmt()

#### getConfigSizeFmt

    public String getConfigSizeFmt()

#### getConditionalState

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

#### getVariableNames

    public Collection<String> getVariableNames()

#### getFileSize

    public long getFileSize​(String path,
                            boolean virtual)
                     throws IOException

Throws:
  `IOException`

#### getFileLastModified

    public long getFileLastModified​(String path,
                                    boolean virtual)
                             throws IOException

Throws:
  `IOException`

#### getFileText

    public String getFileText​(String path,
                              boolean virtual)
                       throws IOException

Throws:
  `IOException`

#### isNameReserved

    protected boolean isNameReserved​(String name)

#### getVariableValue

    public String getVariableValue​(String variableName)

#### setVariableValue

    public void setVariableValue​(String variableName,
                                 String variableValue)

#### getVariableValue

    public String getVariableValue​(String variableName,
                                   String encoding)

#### substituteVariables

    public String substituteVariables​(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 String formatDate​(Date date,
                                TimeZone timeZone)

#### encode

    protected String encode​(String value,
                            String encoding)

#### log

    public void log​(String message)

#### log

    public void log​(String message,
                    Throwable throwable)

#### setDateVariables

    protected void setDateVariables​(boolean fromConstructor)

#### clearMatchGroups

    protected void clearMatchGroups()

#### populateMatchGroups

    protected void populateMatchGroups​(Matcher matcher)