package org.eclipse.jst.jsf.ui.internal;
import org.eclipse.core.runtime.Platform;
/**
* Defines that standard runtime trace options for debugging. See .options file
* for definitions.
*
* @author cbateman
*
*/
public final class JSFUITraceOptions
{
/**
* True if debug tracing is enabled. Other tracing cannot be enabled unless
* this is enabled.
*/
public static final boolean ENABLED;
/**
* True if development mode for meta-data generation is enabled
*/
public static final boolean TRACE_METADATAGEN;
private static final String KEY_DEBUG_ENABLED = "/debug"; //$NON-NLS-1$
private static final String KEY_DESIGNTIME = "/metadatagen"; //$NON-NLS-1$
static
{
ENABLED = getBooleanOption(JSFUiPlugin.PLUGIN_ID
+ KEY_DEBUG_ENABLED);
if (ENABLED)
{
TRACE_METADATAGEN = getBooleanOption(
JSFUiPlugin.PLUGIN_ID + KEY_DESIGNTIME);
}
else
{
TRACE_METADATAGEN = false;
}
}
private static boolean getBooleanOption(String key)
{
Boolean enabled = Boolean.valueOf(Platform.getDebugOption(key));
return enabled != null ? enabled.booleanValue() : 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 JSFUITraceOptions()
{
// no instantiation
}
}