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  /*
    19   */
    20  package org.apache.log4j.chainsaw;
    21
    22  import java.util.Collection;
    23
    24
    25  /**
    26   * Implementations of this model contain all the known Logger
    27   * names within it's model space.
    28   *
    29   * @author Paul Smith psmith@apache.org
    30   */
    31  public interface LoggerNameModel {
    32
    33      /**
    34       * Returns an unmodifiable Collection of the uniquely
    35       * known LoggerNames within this model.
    36       *
    37       * @return unmodifiable Collection of Logger name Strings
    38       */
    39      Collection getLoggerNames();
    40
    41      /**
    42       * Attempts to add the loggerName to the model, and returns
    43       * true if it does, i.e that the loggerName is new, otherwise
    44       * it is ignored.
    45       * <p>
    46       * If the loggerName is new for this model, all the LoggerNameListeners
    47       * are notified using this thread.
    48       *
    49       * @param loggerName
    50       */
    51      boolean addLoggerName(String loggerName);
    52
    53      /**
    54       * The logger names have been cleared
    55       */
    56      void reset();
    57
    58      void addLoggerNameListener(LoggerNameListener l);
    59
    60      void removeLoggerNameListener(LoggerNameListener l);
    61  }