# Interface Filter

All Known Implementing Classes:
  `LogFilter, SessionFilter`

public interface Filter
Description:
Filter interface is designed to make it easier to use Access Logs for JMeter test plans. Normally, a person would have to clean a log file manually and create the JMeter requests. The access log parse utility uses the filter to include/exclude files by either file name or regular expression pattern.

It will also be used by HttpSamplers that use access logs. Using access logs is intended as a way to simulate production traffic. For functional testing, it is better to use the standard functional testing tools in JMeter. Using access logs can also reduce the amount of memory needed to run large test plans.

Version:
  $Revision: 1649516 $

## Method Summary

Modifier and Type
Method
Description
`void`
`excludeFiles(String[] filenames)`
Exclude all files in the array
`void`
`excludePattern(String[] regexp)`
Exclude any log entry that contains the following regular expression pattern.
`String`
`filter(String text)`
In case the user wants to replace the file extension, log parsers should call this method.
`void`
`includeFiles(String[] filenames)`
Include all files in the array.
`void`
`includePattern(String[] regexp)`
Include any log entry that contains the following regular expression pattern.
`boolean`
`isFiltered(String path, TestElement sampler)`
Log parser will call this method to see if a particular entry should be filtered or not.
`void`
`reset()`
Tell the filter when the parsing has reached the end of the log file and is about to begin again.
`void`
`setReplaceExtension(String oldextension, String newextension)`

## Method Details

### setReplaceExtension

void setReplaceExtension(String oldextension, String newextension)

Parameters:
  `oldextension` - old extension
  `newextension` - new extension

### includeFiles

void includeFiles(String[] filenames)
Include all files in the array.

Parameters:
  `filenames` - names of files to include

### excludeFiles

void excludeFiles(String[] filenames)
Exclude all files in the array

Parameters:
  `filenames` - names of files to exclude

### includePattern

void includePattern(String[] regexp)
Include any log entry that contains the following regular expression pattern.

Parameters:
  `regexp` - list of regexp that match entries that should be included

### excludePattern

void excludePattern(String[] regexp)
Exclude any log entry that contains the following regular expression pattern.

Parameters:
  `regexp` - list of regexp that match entries that should be excluded

### isFiltered

boolean isFiltered(String path, TestElement sampler)
Log parser will call this method to see if a particular entry should be filtered or not.

Parameters:
  `path` - log line that should be checked if it should to be filtered out
  `sampler` - `TestElement` in which the line would be added
Returns:
  boolean `true` if line should be filtered out, `false` otherwise

### filter

String filter(String text)
In case the user wants to replace the file extension, log parsers should call this method. This is useful for regression test plans. If a website is migrating from one platform to another and the file extension changes, the filter provides an easy way to do it without spending a lot of time.

Parameters:
  `text` - log line to be filtered
Returns:
  String

### reset

void reset()
Tell the filter when the parsing has reached the end of the log file and is about to begin again. Gives the filter a chance to adjust it's values, if needed.