src/java.net.http/share/classes/jdk/internal/net/http/FilterFactory.java
branchhttp-client-branch
changeset 56264 c012b93297b0
parent 56092 fd85b2bf2b0d
child 56451 9585061fdb04
equal deleted inserted replaced
56263:4933a477d628 56264:c012b93297b0
    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);