View Javadoc

1   package ch.qos.logback.access.spi;
2   
3   import java.util.Iterator;
4   import java.util.List;
5   
6   import ch.qos.logback.core.Appender;
7   import ch.qos.logback.core.ContextBase;
8   import ch.qos.logback.core.filter.Filter;
9   import ch.qos.logback.core.spi.AppenderAttachable;
10  import ch.qos.logback.core.spi.AppenderAttachableImpl;
11  import ch.qos.logback.core.spi.FilterAttachable;
12  import ch.qos.logback.core.spi.FilterAttachableImpl;
13  import ch.qos.logback.core.spi.FilterReply;
14  
15  /**
16   * A minimal context implementation used by certain logback-access components,
17   * mainly SocketServer.
18   * 
19   * @author Sébastien Pennec
20   */
21  public class AccessContext extends ContextBase implements
22      AppenderAttachable<AccessEvent>, FilterAttachable<AccessEvent> {
23  
24    AppenderAttachableImpl<AccessEvent> aai = new AppenderAttachableImpl<AccessEvent>();
25    FilterAttachableImpl<AccessEvent> fai = new FilterAttachableImpl<AccessEvent>();
26  
27    public void callAppenders(AccessEvent event) {
28      aai.appendLoopOnAppenders(event);
29    }
30  
31    public void addAppender(Appender<AccessEvent> newAppender) {
32      aai.addAppender(newAppender);
33    }
34  
35    public void detachAndStopAllAppenders() {
36      aai.detachAndStopAllAppenders();
37    }
38  
39    public boolean detachAppender(Appender appender) {
40      return aai.detachAppender(appender);
41    }
42  
43    public boolean detachAppender(String name) {
44      return aai.detachAppender(name);
45    }
46  
47    public Appender<AccessEvent> getAppender(String name) {
48      return aai.getAppender(name);
49    }
50  
51    public boolean isAttached(Appender appender) {
52      return aai.isAttached(appender);
53    }
54  
55    public Iterator<Appender<AccessEvent>> iteratorForAppenders() {
56      return aai.iteratorForAppenders();
57    }
58  
59    public void addFilter(Filter<AccessEvent> newFilter) {
60      fai.addFilter(newFilter);
61    }
62  
63    public void clearAllFilters() {
64      fai.clearAllFilters();
65    }
66  
67    public List<Filter<AccessEvent>> getCopyOfAttachedFiltersList() {
68      return fai.getCopyOfAttachedFiltersList();
69    }
70  
71    public FilterReply getFilterChainDecision(AccessEvent event) {
72      return fai.getFilterChainDecision(event);
73    }
74  
75    public Filter getFirstFilter() {
76      return fai.getFirstFilter();
77    }
78  }