~ubuntu-branches/ubuntu/lucid/libjcommon-java/lucid

« back to all changes in this revision

Viewing changes to source/org/jfree/util/LogContext.java

  • Committer: Bazaar Package Importer
  • Author(s): Wolfgang Baer
  • Date: 2006-02-09 15:58:13 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20060209155813-fzi9zwh2rzedbllq
Tags: 1.0.0-1
* New stable upstream release (closes: #328574)
* Move to main - build with kaffe
* Use cdbs build system - added cdbs build-dependency
* Move package to pkg-java-maintainers for comaintenance, 
  added Christian Bayle and myself as uploaders
* Removed unneeded README.Debian
* Added README.Debian-source how the upstream tarball was cleaned
* Move big documentation in an own -doc package
* Register javadoc api with doc-base
* Standards-Version 3.6.2 (no changes)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* ========================================================================
 
2
 * JCommon : a free general purpose class library for the Java(tm) platform
 
3
 * ========================================================================
 
4
 *
 
5
 * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors.
 
6
 * 
 
7
 * Project Info:  http://www.jfree.org/jcommon/index.html
 
8
 *
 
9
 * This library is free software; you can redistribute it and/or modify it 
 
10
 * under the terms of the GNU Lesser General Public License as published by 
 
11
 * the Free Software Foundation; either version 2.1 of the License, or 
 
12
 * (at your option) any later version.
 
13
 *
 
14
 * This library is distributed in the hope that it will be useful, but 
 
15
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 
16
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 
 
17
 * License for more details.
 
18
 *
 
19
 * You should have received a copy of the GNU Lesser General Public
 
20
 * License along with this library; if not, write to the Free Software
 
21
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
 
22
 * USA.  
 
23
 *
 
24
 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 
 
25
 * in the United States and other countries.]
 
26
 * 
 
27
 * ---------------
 
28
 * LogContext.java
 
29
 * ---------------
 
30
 * (C)opyright 2004, by Thomas Morgner and Contributors.
 
31
 *
 
32
 * Original Author:  Thomas Morgner;
 
33
 * Contributor(s):   David Gilbert (for Object Refinery Limited);
 
34
 *
 
35
 * $Id: LogContext.java,v 1.3 2005/10/18 13:24:19 mungady Exp $
 
36
 *
 
37
 * Changes 
 
38
 * -------
 
39
 * 26-Apr-2004 : Initial version (TM);
 
40
 *  
 
41
 */
 
42
 
 
43
package org.jfree.util;
 
44
 
 
45
/**
 
46
 * A log context.
 
47
 *
 
48
 * @author Thomas Morgner
 
49
 */
 
50
public class LogContext {
 
51
 
 
52
    /** The prefix string. */
 
53
    private String contextPrefix;
 
54
 
 
55
    /**
 
56
     * Creates a new log context.
 
57
     * 
 
58
     * @param contextPrefix  the prefix.
 
59
     */
 
60
    public LogContext(final String contextPrefix) {
 
61
        this.contextPrefix = contextPrefix;
 
62
    }
 
63
 
 
64
    /**
 
65
     * Returns true, if the log level allows debug messages to be
 
66
     * printed.
 
67
     *
 
68
     * @return true, if messages with an log level of DEBUG are allowed.
 
69
     */
 
70
    public boolean isDebugEnabled() {
 
71
        return Log.isDebugEnabled();
 
72
    }
 
73
 
 
74
    /**
 
75
     * Returns true, if the log level allows informational
 
76
     * messages to be printed.
 
77
     *
 
78
     * @return true, if messages with an log level of INFO are allowed.
 
79
     */
 
80
    public boolean isInfoEnabled() {
 
81
        return Log.isInfoEnabled();
 
82
    }
 
83
 
 
84
    /**
 
85
     * Returns true, if the log level allows warning messages to be
 
86
     * printed.
 
87
     *
 
88
     * @return true, if messages with an log level of WARN are allowed.
 
89
     */
 
90
    public boolean isWarningEnabled() {
 
91
        return Log.isWarningEnabled();
 
92
    }
 
93
 
 
94
    /**
 
95
     * Returns true, if the log level allows error messages to be
 
96
     * printed.
 
97
     *
 
98
     * @return true, if messages with an log level of ERROR are allowed.
 
99
     */
 
100
    public boolean isErrorEnabled() {
 
101
        return Log.isErrorEnabled();
 
102
    }
 
103
 
 
104
 
 
105
    /**
 
106
     * A convenience method for logging a 'debug' message.
 
107
     *
 
108
     * @param message the message.
 
109
     */
 
110
    public void debug(final Object message) {
 
111
        log(LogTarget.DEBUG, message);
 
112
    }
 
113
 
 
114
    /**
 
115
     * A convenience method for logging a 'debug' message.
 
116
     *
 
117
     * @param message the message.
 
118
     * @param e       the exception.
 
119
     */
 
120
    public void debug(final Object message, final Exception e) {
 
121
        log(LogTarget.DEBUG, message, e);
 
122
    }
 
123
 
 
124
    /**
 
125
     * A convenience method for logging an 'info' message.
 
126
     *
 
127
     * @param message the message.
 
128
     */
 
129
    public void info(final Object message) {
 
130
        log(LogTarget.INFO, message);
 
131
    }
 
132
 
 
133
    /**
 
134
     * A convenience method for logging an 'info' message.
 
135
     *
 
136
     * @param message the message.
 
137
     * @param e       the exception.
 
138
     */
 
139
    public void info(final Object message, final Exception e) {
 
140
        log(LogTarget.INFO, message, e);
 
141
    }
 
142
 
 
143
    /**
 
144
     * A convenience method for logging a 'warning' message.
 
145
     *
 
146
     * @param message the message.
 
147
     */
 
148
    public void warn(final Object message) {
 
149
        log(LogTarget.WARN, message);
 
150
    }
 
151
 
 
152
    /**
 
153
     * A convenience method for logging a 'warning' message.
 
154
     *
 
155
     * @param message the message.
 
156
     * @param e       the exception.
 
157
     */
 
158
    public void warn(final Object message, final Exception e) {
 
159
        log(LogTarget.WARN, message, e);
 
160
    }
 
161
 
 
162
    /**
 
163
     * A convenience method for logging an 'error' message.
 
164
     *
 
165
     * @param message the message.
 
166
     */
 
167
    public void error(final Object message) {
 
168
        log(LogTarget.ERROR, message);
 
169
    }
 
170
 
 
171
    /**
 
172
     * A convenience method for logging an 'error' message.
 
173
     *
 
174
     * @param message the message.
 
175
     * @param e       the exception.
 
176
     */
 
177
    public void error(final Object message, final Exception e) {
 
178
        log(LogTarget.ERROR, message, e);
 
179
    }
 
180
 
 
181
    /**
 
182
     * Logs a message to the main log stream.  All attached log targets will also
 
183
     * receive this message. If the given log-level is higher than the given debug-level
 
184
     * in the main config file, no logging will be done.
 
185
     *
 
186
     * @param level   log level of the message.
 
187
     * @param message text to be logged.
 
188
     */
 
189
    public void log(final int level, final Object message) {
 
190
        if (this.contextPrefix != null) {
 
191
            Log.getInstance().doLog(level, new Log.SimpleMessage(this.contextPrefix, ":", message));
 
192
        }
 
193
        else {
 
194
            Log.getInstance().doLog(level, message);
 
195
        }
 
196
    }
 
197
 
 
198
    /**
 
199
     * Logs a message to the main log stream. All attached logTargets will also
 
200
     * receive this message. If the given log-level is higher than the given debug-level
 
201
     * in the main config file, no logging will be done.
 
202
     * <p/>
 
203
     * The exception's stacktrace will be appended to the log-stream
 
204
     *
 
205
     * @param level   log level of the message.
 
206
     * @param message text to be logged.
 
207
     * @param e       the exception, which should be logged.
 
208
     */
 
209
    public void log(final int level, final Object message, final Exception e) {
 
210
        if (this.contextPrefix != null) {
 
211
            Log.getInstance().doLog(
 
212
                level, new Log.SimpleMessage(this.contextPrefix, ":", message), e
 
213
            );
 
214
        }
 
215
        else {
 
216
            Log.getInstance().doLog(level, message, e);
 
217
        }
 
218
    }
 
219
 
 
220
    /**
 
221
     * Tests this object for equality with an arbitrary object.
 
222
     * 
 
223
     * @param o  the object to test against (<code>null</code> permitted).
 
224
     * 
 
225
     * @return A boolean.
 
226
     */
 
227
    public boolean equals(final Object o) {
 
228
        if (this == o) {
 
229
            return true;
 
230
        }
 
231
        if (!(o instanceof LogContext)) {
 
232
            return false;
 
233
        }
 
234
 
 
235
        final LogContext logContext = (LogContext) o;
 
236
 
 
237
        if (this.contextPrefix != null)
 
238
        {
 
239
            if (!this.contextPrefix.equals(logContext.contextPrefix)) {
 
240
                return false;
 
241
            }
 
242
        }
 
243
        else {
 
244
            if (logContext.contextPrefix != null) {
 
245
                return false;
 
246
            }
 
247
        }
 
248
 
 
249
        return true;
 
250
    }
 
251
 
 
252
    /**
 
253
     * Returns a hashcode.
 
254
     * 
 
255
     * @return The hashcode.
 
256
     */
 
257
    public int hashCode() {
 
258
        return (this.contextPrefix != null ? this.contextPrefix.hashCode() : 0);
 
259
    }
 
260
}