Subclass of Handler which allows for the combination of SimpleHandlers.
An intuitive way to think about globbed patterns is as sets - for example, the
pattern "admin/*" is the set of all paths that are in the admin/ directory,
and the pattern "*.txt" is the set of all paths to text files. An
OverlappedHandler is designed to describe the intersection of the sets
of paths - ie the set of paths that is matched by EVERY one its
handler patterns.
In the Xml files, paths are specified in different places - in servlet
patterns, in static files includes, in security constraint specifications,
etc. There is often some overlap between the paths that are specified by
these patterns. Since App.Yaml does not have separate places to specify how
different paths are handled, but rather just lists paths along with a bunch
of ways that the paths is handled, we need to make sure that these properties
for various paths are being combined at some point in the translation process.
Thus an OverlappedHandler holds a list of "matchers" - ie. handlers with more
general patterns, to choose properties from. OverlappedHandlers do not
explicitly specify properties but rather choose the value from the most
specific "matcher" with the value of that property specified. The matchers
are SimpleHandlers.
Attributes:
pattern: inherited from Handler.
matchers: A list of SimpleHandlers. Matchers are handlers which happen to
match OverlappedHandler's pattern and whose properties are thus necessary
to track in order to make sure that OverlappedHandler's pattern is handled
correctly.