Home | History | Annotate | Download | only in log4j
      1 /*
      2  * Copyright 2001-2004 The Apache Software Foundation.
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 // Contributors:  Kitching Simon <Simon.Kitching (at) orange.ch>
     18 
     19 package org.apache.log4j;
     20 
     21 // Contributors:  Kitching Simon <Simon.Kitching (at) OOOrange.ch>
     22 
     23 /**
     24    <font color="#AA4444">Refrain from using this class directly, use
     25    the {@link Level} class instead</font>.
     26 
     27    @author Ceki G&uuml;lc&uuml; */
     28 public class Priority {
     29 
     30     transient int level;
     31     transient String levelStr;
     32     transient int syslogEquivalent;
     33 
     34     public final static int OFF_INT = Integer.MAX_VALUE;
     35     public final static int FATAL_INT = 50000;
     36     public final static int ERROR_INT = 40000;
     37     public final static int WARN_INT = 30000;
     38     public final static int INFO_INT = 20000;
     39     public final static int DEBUG_INT = 10000;
     40     // public final static int FINE_INT = DEBUG_INT;
     41     public final static int ALL_INT = Integer.MIN_VALUE;
     42 
     43     /**
     44      * @deprecated Use {@link Level#FATAL} instead.
     45      */
     46     final static public Priority FATAL = new Level(FATAL_INT, "FATAL", 0);
     47 
     48     /**
     49      * @deprecated Use {@link Level#ERROR} instead.
     50      */
     51     final static public Priority ERROR = new Level(ERROR_INT, "ERROR", 3);
     52 
     53     /**
     54      * @deprecated Use {@link Level#WARN} instead.
     55      */
     56     final static public Priority WARN = new Level(WARN_INT, "WARN", 4);
     57 
     58     /**
     59      * @deprecated Use {@link Level#INFO} instead.
     60      */
     61     final static public Priority INFO = new Level(INFO_INT, "INFO", 6);
     62 
     63     /**
     64      * @deprecated Use {@link Level#DEBUG} instead.
     65      */
     66     final static public Priority DEBUG = new Level(DEBUG_INT, "DEBUG", 7);
     67 
     68     /**
     69       * Default constructor for deserialization.
     70       */
     71     protected Priority() {
     72         level = DEBUG_INT;
     73         levelStr = "DEBUG";
     74         syslogEquivalent = 7;
     75     }
     76 
     77     /**
     78        Instantiate a level object.
     79      */
     80     protected Priority(int level, String levelStr, int syslogEquivalent) {
     81         this.level = level;
     82         this.levelStr = levelStr;
     83         this.syslogEquivalent = syslogEquivalent;
     84     }
     85 
     86     /**
     87        Two priorities are equal if their level fields are equal.
     88        @since 1.2
     89      */
     90     public boolean equals(Object o) {
     91         if (o instanceof Priority) {
     92             Priority r = (Priority) o;
     93             return (this.level == r.level);
     94         } else {
     95             return false;
     96         }
     97     }
     98 
     99     /**
    100        Return the syslog equivalent of this priority as an integer.
    101      */
    102     public final int getSyslogEquivalent() {
    103         return syslogEquivalent;
    104     }
    105 
    106     /**
    107        Returns <code>true</code> if this level has a higher or equal
    108        level than the level passed as argument, <code>false</code>
    109        otherwise.
    110 
    111        <p>You should think twice before overriding the default
    112        implementation of <code>isGreaterOrEqual</code> method.
    113 
    114     */
    115     public boolean isGreaterOrEqual(Priority r) {
    116         return level >= r.level;
    117     }
    118 
    119     /**
    120        Return all possible priorities as an array of Level objects in
    121        descending order.
    122 
    123        @deprecated This method will be removed with no replacement.
    124     */
    125     public static Priority[] getAllPossiblePriorities() {
    126         return new Priority[] { Priority.FATAL, Priority.ERROR, Level.WARN, Priority.INFO, Priority.DEBUG };
    127     }
    128 
    129     /**
    130        Returns the string representation of this priority.
    131      */
    132     final public String toString() {
    133         return levelStr;
    134     }
    135 
    136     /**
    137        Returns the integer representation of this level.
    138      */
    139     public final int toInt() {
    140         return level;
    141     }
    142 
    143     /**
    144      * @deprecated Please use the {@link Level#toLevel(String)} method instead.
    145     */
    146     public static Priority toPriority(String sArg) {
    147         return Level.toLevel(sArg);
    148     }
    149 
    150     /**
    151      * @deprecated Please use the {@link Level#toLevel(int)} method instead.
    152      */
    153     public static Priority toPriority(int val) {
    154         return toPriority(val, Priority.DEBUG);
    155     }
    156 
    157     /**
    158      * @deprecated Please use the {@link Level#toLevel(int, Level)} method instead.
    159     */
    160     public static Priority toPriority(int val, Priority defaultPriority) {
    161         return Level.toLevel(val, (Level) defaultPriority);
    162     }
    163 
    164     /**
    165      * @deprecated Please use the {@link Level#toLevel(String, Level)} method instead.
    166      */
    167     public static Priority toPriority(String sArg, Priority defaultPriority) {
    168         return Level.toLevel(sArg, (Level) defaultPriority);
    169     }
    170 }