Simple base implementation of Filter which treats
its config parameters (init-param entries within the
filter tag in web.xml) as bean properties.

A handy superclass for any type of filter. Type conversion of config
parameters is automatic, with the corresponding setter method getting
invoked with the converted value. It is also possible for subclasses to
specify required properties. Parameters without matching bean property
setter will simply be ignored.

addRequiredProperty(String property)
Subclasses can invoke this method to specify that this property
(which must match a JavaBean property they expose) is mandatory,
and must be supplied as a config parameter.

void

afterPropertiesSet()
Calls the initFilterBean() method that might
contain custom initialization of a subclass.

void

destroy()
Subclasses may override this to perform custom filter shutdown.

beanName - the name of the bean in the factory.
Note that this name is the actual bean name used in the factory, which may
differ from the originally specified name: in particular for inner bean
names, the actual bean name might have been made unique through appending
"#..." suffixes. Use the BeanFactoryUtils.originalBeanName(String)
method to extract the original bean name (without suffix), if desired.

addRequiredProperty

Subclasses can invoke this method to specify that this property
(which must match a JavaBean property they expose) is mandatory,
and must be supplied as a config parameter. This should be called
from the constructor of a subclass.

This method is only relevant in case of traditional initialization
driven by a FilterConfig instance.

initFilterBean

Subclasses may override this to perform custom initialization.
All bean properties of this filter will have been set before this
method is invoked.

Note: This method will be called from standard filter initialization
as well as filter bean initialization in a Spring application context.
Filter name and ServletContext will be available in both cases.