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  // Contributors:  Kitching Simon <Simon.Kitching@orange.ch>
19  
20  package org.apache.log4j;
21  
22  /**
23     <font color="#AA4444">Refrain from using this class directly, use
24     the {@link Level} class instead</font>.
25  
26     @author Ceki G&uuml;lc&uuml; */
27  public class Priority {
28  
29    transient int level;
30    transient String levelStr;
31    transient int syslogEquivalent;
32  
33    public final static int OFF_INT = Integer.MAX_VALUE;
34    public final static int FATAL_INT = 50000;
35    public final static int ERROR_INT = 40000;
36    public final static int WARN_INT  = 30000;
37    public final static int INFO_INT  = 20000;
38    public final static int DEBUG_INT = 10000;
39      //public final static int FINE_INT = DEBUG_INT;
40    public final static int ALL_INT = Integer.MIN_VALUE;
41  
42    /**
43     * @deprecated Use {@link Level#FATAL} instead.
44     */
45    final static public Priority FATAL = new Level(FATAL_INT, "FATAL", 0);
46  
47    /**
48     * @deprecated Use {@link Level#ERROR} instead.
49     */
50    final static public Priority ERROR = new Level(ERROR_INT, "ERROR", 3);
51  
52    /**
53     * @deprecated Use {@link Level#WARN} instead.
54     */
55    final static public Priority WARN  = new Level(WARN_INT, "WARN",  4);
56  
57    /**
58     * @deprecated Use {@link Level#INFO} instead.
59     */
60    final static public Priority INFO  = new Level(INFO_INT, "INFO",  6);
61  
62    /**
63     * @deprecated Use {@link Level#DEBUG} instead.
64     */
65    final static public Priority DEBUG = new Level(DEBUG_INT, "DEBUG", 7);
66  
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
81    Priority(int level, String levelStr, int syslogEquivalent) {
82      this.level = level;
83      this.levelStr = levelStr;
84      this.syslogEquivalent = syslogEquivalent;
85    }
86  
87    /**
88       Two priorities are equal if their level fields are equal.
89       @since 1.2
90     */
91    public
92    boolean equals(Object o) {
93      if(o instanceof Priority) {
94        Priority r = (Priority) o;
95        return (this.level == r.level);
96      } else {
97        return false;
98      }
99    }
100 
101   /**
102      Return the syslog equivalent of this priority as an integer.
103    */
104   public
105   final
106   int getSyslogEquivalent() {
107     return syslogEquivalent;
108   }
109 
110 
111    
112   /**
113      Returns <code>true</code> if this level has a higher or equal
114      level than the level passed as argument, <code>false</code>
115      otherwise.  
116      
117      <p>You should think twice before overriding the default
118      implementation of <code>isGreaterOrEqual</code> method.
119 
120   */
121   public
122   boolean isGreaterOrEqual(Priority r) {
123     return level >= r.level;
124   }
125 
126   /**
127      Return all possible priorities as an array of Level objects in
128      descending order.
129 
130      @deprecated This method will be removed with no replacement.
131   */
132   public
133   static
134   Priority[] getAllPossiblePriorities() {
135     return new Priority[] {Priority.FATAL, Priority.ERROR, Level.WARN, 
136 			   Priority.INFO, Priority.DEBUG};
137   }
138 
139 
140   /**
141      Returns the string representation of this priority.
142    */
143   final
144   public
145   String toString() {
146     return levelStr;
147   }
148 
149   /**
150      Returns the integer representation of this level.
151    */
152   public
153   final
154   int toInt() {
155     return level;
156   }
157 
158   /**
159    * @deprecated Please use the {@link Level#toLevel(String)} method instead.
160   */
161   public
162   static
163   Priority toPriority(String sArg) {
164     return Level.toLevel(sArg);
165   }
166 
167   /**
168    * @deprecated Please use the {@link Level#toLevel(int)} method instead.   
169    */
170   public
171   static
172   Priority toPriority(int val) {
173     return toPriority(val, Priority.DEBUG);
174   }
175 
176   /**
177    * @deprecated Please use the {@link Level#toLevel(int, Level)} method instead.   
178   */
179   public
180   static
181   Priority toPriority(int val, Priority defaultPriority) {
182     return Level.toLevel(val, (Level) defaultPriority);
183   }
184 
185   /**
186    * @deprecated Please use the {@link Level#toLevel(String, Level)} method instead.   
187    */
188   public
189   static
190   Priority toPriority(String sArg, Priority defaultPriority) {                  
191     return Level.toLevel(sArg, (Level) defaultPriority);
192   }
193 }