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@orange.ch> 18 19 package org.apache.log4j; 20 21 // Contributors: Kitching Simon <Simon.Kitching@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ülcü */ 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 */ Priority()71 protected Priority() { 72 level = DEBUG_INT; 73 levelStr = "DEBUG"; 74 syslogEquivalent = 7; 75 } 76 77 /** 78 Instantiate a level object. 79 */ Priority(int level, String levelStr, int syslogEquivalent)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 */ equals(Object o)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 */ getSyslogEquivalent()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 */ isGreaterOrEqual(Priority r)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 */ getAllPossiblePriorities()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 */ toString()132 final public String toString() { 133 return levelStr; 134 } 135 136 /** 137 Returns the integer representation of this level. 138 */ toInt()139 public final int toInt() { 140 return level; 141 } 142 143 /** 144 * @deprecated Please use the {@link Level#toLevel(String)} method instead. 145 */ toPriority(String sArg)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 */ toPriority(int val)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 */ toPriority(int val, Priority defaultPriority)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 */ toPriority(String sArg, Priority defaultPriority)167 public static Priority toPriority(String sArg, Priority defaultPriority) { 168 return Level.toLevel(sArg, (Level) defaultPriority); 169 } 170 }