annotate dwtx/core/commands/util/Tracing.d @ 3:6518c18a01f7

eclipse.core package without osgi dependencies
author Frank Benoit <benoit@tionex.de>
date Wed, 26 Mar 2008 00:57:19 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /*******************************************************************************
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 * Copyright (c) 2005, 2006 IBM Corporation and others.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 * All rights reserved. This program and the accompanying materials
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 * are made available under the terms of the Eclipse Public License v1.0
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 * which accompanies this distribution, and is available at
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 * http://www.eclipse.org/legal/epl-v10.html
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8 * Contributors:
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 * IBM Corporation - initial API and implementation
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 * Port to the D programming language:
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 * Frank Benoit <benoit@tionex.de>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
12 *******************************************************************************/
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14 module dwtx.core.commands.util.Tracing;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16 import dwt.dwthelper.utils;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17 import tango.util.log.Trace;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19 static import tango.text.Text;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 alias tango.text.Text.Text!(char) StringBuffer;
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23 * <p>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 * A utility class for printing tracing output to the console.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 * </p>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 * <p>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27 * Clients must not extend or instantiate this class.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
28 * </p>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30 * @since 3.2
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
31 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32 public final class Tracing {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35 * The separator to place between the component and the message.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 public static const String SEPARATOR = " >>> "; //$NON-NLS-1$
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 * <p>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41 * Prints a tracing message to standard out. The message is prefixed by a
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42 * component identifier and some separator. See the example below.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 * </p>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 * <pre>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 * BINDINGS &gt;&gt; There are 4 deletion markers
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 * </pre>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 *
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 * @param component
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 * The component for which this tracing applies; may be
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 * <code>null</code>
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 * @param message
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53 * The message to print to standard out; may be <code>null</code>.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 public static final void printTrace(String component,
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 String message) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 StringBuffer buffer = new StringBuffer();
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58 if (component.length !is 0) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59 buffer.append(component);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61 if ((component.length !is 0) && (message.length !is 0)) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62 buffer.append(SEPARATOR);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64 if (message.length !is 0) {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 buffer.append(message);
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67 Trace.formatln( "{}", buffer.toString());
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 /**
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 * This class is not intended to be instantiated.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72 */
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73 private this() {
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 // Do nothing.
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 }
6518c18a01f7 eclipse.core package without osgi dependencies
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 }