1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.opensaml.util.resource;
18
19 import java.io.InputStream;
20 import java.util.List;
21
22 import org.slf4j.Logger;
23 import org.slf4j.LoggerFactory;
24
25
26 public class ChainingResourceFilter implements ResourceFilter {
27
28
29 private Logger log = LoggerFactory.getLogger(ChainingResourceFilter.class);
30
31
32 private List<ResourceFilter> resourceFilters;
33
34
35
36
37
38
39 public ChainingResourceFilter(List<ResourceFilter> filters) {
40 resourceFilters = filters;
41 }
42
43
44 public InputStream applyFilter(InputStream resource) throws ResourceException {
45 if (resourceFilters == null || resourceFilters.isEmpty()) {
46 log.debug("No resource filters configured, nothing to do");
47 return resource;
48 }
49
50 for (ResourceFilter filter : resourceFilters) {
51 log.debug("Applying filter '{}'", filter.getClass().getName());
52 resource = filter.applyFilter(resource);
53 }
54
55 return resource;
56 }
57 }