@startuml
interface Filter {
void doFilter(Request, Response, FilterChain)
}
class FilterChain {
filters : List<Filter>
void doFilter(Request, Response)
}
class Request
class Response
class AFilterImpl
class BFilterImpl
Filter --|> AFilterImpl
Filter --|> BFilterImpl
Request <.. Filter
Response <.. Filter
FilterChain "1" o--> "*" Filter
@enduml