blob: 5bcf32a32cbaf548a71299fa67125a53d4567073 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2008 Oracle Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Oracle Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.pagedesigner;
import org.eclipse.osgi.framework.debug.FrameworkDebugOptions;
import org.eclipse.osgi.service.debug.DebugOptions;
/**
* Defines that standard runtime trace options for debugging. See .options file
* for definitions.
*
* NOT API
*
* @author cbateman
*
*/
public final class PageDesignerTraceOptions
{
/**
* True if debug tracing is enabled. Other tracing cannot be enabled unless
* this is enabled.
*/
public static final boolean ENABLED;
/**
* True if tag converter ext load tracing is enabled
*/
public static final boolean TRACE_CONVERTERLOAD;
/**
* True if tag converter selection tracing is enabled
*/
public static final boolean TRACE_CONVERTERSELECT;
/**
* True if tag element edit ext load tracing is enabled
*/
public static final boolean TRACE_ELEMENTEDITLOAD;
/**
* True if tag element edit selection tracing is enabled
*/
public static final boolean TRACE_ELEMENTEDITSELECTION;
private static final String KEY_DEBUG_ENABLED = "/debug"; //$NON-NLS-1$
private static final String KEY_CONVERTER = KEY_DEBUG_ENABLED+"/converter"; //$NON-NLS-1$
private static final String KEY_CONVERTER_LOAD = KEY_CONVERTER + "/load"; //$NON-NLS-1$
private static final String KEY_CONVERTER_SELECTION = KEY_CONVERTER + "/selection"; //$NON-NLS-1$
private static final String KEY_ELEMENTEDIT = KEY_DEBUG_ENABLED+"/elementedit"; //$NON-NLS-1$
private static final String KEY_ELEMENTEDIT_LOAD = KEY_ELEMENTEDIT + "/load"; //$NON-NLS-1$
private static final String KEY_ELEMENTEDIT_SELECTION = KEY_ELEMENTEDIT + "/selection"; //$NON-NLS-1$
static
{
final DebugOptions debugOptions = FrameworkDebugOptions.getDefault();
final String pluginId = PDPlugin.getPluginId();
ENABLED = debugOptions != null
&& debugOptions.getBooleanOption(pluginId
+ KEY_DEBUG_ENABLED, false);
if (ENABLED)
{
TRACE_CONVERTERLOAD = debugOptions.getBooleanOption(
pluginId + KEY_CONVERTER_LOAD, false);
TRACE_CONVERTERSELECT = debugOptions.getBooleanOption(
pluginId + KEY_CONVERTER_SELECTION, false);
TRACE_ELEMENTEDITLOAD = debugOptions.getBooleanOption(
pluginId + KEY_ELEMENTEDIT_LOAD, false);
TRACE_ELEMENTEDITSELECTION = debugOptions.getBooleanOption(
pluginId + KEY_ELEMENTEDIT_SELECTION, false);
}
else
{
TRACE_CONVERTERLOAD = false;
TRACE_CONVERTERSELECT = false;
TRACE_ELEMENTEDITLOAD = false;
TRACE_ELEMENTEDITSELECTION = false;
}
}
/**
* @param message
*/
public static void log(final String message)
{
System.out.println(message);
}
/**
* @param msg A short label placed before the trace of t to show the source
* @param t
*/
public static void log(final String msg, final Throwable t)
{
System.out.printf("%s: Exception Trace:\n\n",msg); //$NON-NLS-1$
t.printStackTrace(System.out);
System.out.print("\n\n\n"); //$NON-NLS-1$
}
private PageDesignerTraceOptions()
{
// no instantiation
}
}