Package org.apache.catalina.ssi

## Interface SSIExternalResolver

All Known Implementing Classes:
  `SSIServletExternalResolver`

    public interface SSIExternalResolver

Interface used by SSIMediator to talk to the 'outside world' ( usually a servlet )

Author:
  Dan Sandberg

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `addVariableNames​(java.util.Collection<java.lang.String> variableNames)` Adds any external variables to the variableNames collection.
`java.util.Date` `getCurrentDate()` Returns the current date.
`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.lang.String` `getVariableValue​(java.lang.String name)`
`void` `log​(java.lang.String message, java.lang.Throwable throwable)`
`void` `setVariableValue​(java.lang.String name, java.lang.String value)` Set the named variable to the specified value.

### Method Detail

#### addVariableNames

    void addVariableNames​(java.util.Collection<java.lang.String> variableNames)

Adds any external variables to the variableNames collection.

Parameters:
  `variableNames` - the collection to add to

#### getVariableValue

    java.lang.String getVariableValue​(java.lang.String name)

#### setVariableValue

    void setVariableValue​(java.lang.String name,
                          java.lang.String value)

Set the named variable to the specified value. If value is null, then the variable will be removed ( ie. a call to getVariableValue will return null )

Parameters:
  `name` - of the variable
  `value` - of the variable

#### getCurrentDate

    java.util.Date getCurrentDate()

Returns the current date. This is useful for putting the SSI stuff in a regression test. Since you can make the current date a constant, it makes testing easier since the output won't change.

Returns:
  the data

#### getFileSize

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

Throws:
  `java.io.IOException`

#### getFileLastModified

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

Throws:
  `java.io.IOException`

#### getFileText

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

Throws:
  `java.io.IOException`

#### log

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