equal
deleted
inserted
replaced
28 import java.util.LinkedList; |
28 import java.util.LinkedList; |
29 import java.util.List; |
29 import java.util.List; |
30 |
30 |
31 class FilterFactory { |
31 class FilterFactory { |
32 |
32 |
|
33 // Strictly-ordered list of filters. |
33 final LinkedList<Class<? extends HeaderFilter>> filterClasses = new LinkedList<>(); |
34 final LinkedList<Class<? extends HeaderFilter>> filterClasses = new LinkedList<>(); |
34 |
35 |
35 public void addFilter(Class<? extends HeaderFilter> type) { |
36 public void addFilter(Class<? extends HeaderFilter> type) { |
36 filterClasses.add(type); |
37 filterClasses.add(type); |
37 } |
38 } |
38 |
39 |
39 List<HeaderFilter> getFilterChain() { |
40 LinkedList<HeaderFilter> getFilterChain() { |
40 List<HeaderFilter> l = new LinkedList<>(); |
41 LinkedList<HeaderFilter> l = new LinkedList<>(); |
41 for (Class<? extends HeaderFilter> clazz : filterClasses) { |
42 for (Class<? extends HeaderFilter> clazz : filterClasses) { |
42 try { |
43 try { |
43 // Requires a public no arg constructor. |
44 // Requires a public no arg constructor. |
44 HeaderFilter headerFilter = clazz.getConstructor().newInstance(); |
45 HeaderFilter headerFilter = clazz.getConstructor().newInstance(); |
45 l.add(headerFilter); |
46 l.add(headerFilter); |