View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  
18  package org.apache.log4j.spi;
19  
20  import org.apache.log4j.Appender;
21  
22  import java.util.Enumeration;
23  
24  /**
25   * Interface for attaching appenders to objects.
26   */
27  public interface AppenderAttachable {
28  
29      /**
30       * Add an appender.
31       * @param newAppender The Appender to add.
32       */
33      void addAppender(Appender newAppender);
34  
35      /**
36       * Get all previously added appenders as an Enumeration.
37       * @return The Enumeration of the Appenders.
38       */
39      Enumeration<Appender> getAllAppenders();
40  
41      /**
42       * Get an appender by name.
43       * @param name The name of the Appender.
44       * @return The Appender.
45       */
46      Appender getAppender(String name);
47  
48  
49      /**
50       * Returns <code>true</code> if the specified appender is in list of
51       * attached attached, <code>false</code> otherwise.
52       * @param appender The Appender to check.
53       * @return true if the Appender is attached.
54       *
55       * @since 1.2
56       */
57      boolean isAttached(Appender appender);
58  
59      /**
60       * Remove all previously added appenders.
61       */
62      void removeAllAppenders();
63  
64  
65      /**
66       * Remove the appender passed as parameter from the list of appenders.
67       * @param appender The Appender to remove.
68       */
69      void removeAppender(Appender appender);
70  
71  
72      /**
73       * Remove the appender with the name passed as parameter from the
74       * list of appenders.
75       * @param name The name of the Appender to remove.
76       */
77      void removeAppender(String name);
78  }