/******************************************************************************* * 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.core.runtime.Platform; /** * 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 String pluginId = PDPlugin.getPluginId(); ENABLED = getBooleanOption(pluginId + KEY_DEBUG_ENABLED); if (ENABLED) { TRACE_CONVERTERLOAD = getBooleanOption(pluginId + KEY_CONVERTER_LOAD); TRACE_CONVERTERSELECT = getBooleanOption(pluginId + KEY_CONVERTER_SELECTION); TRACE_ELEMENTEDITLOAD = getBooleanOption(pluginId + KEY_ELEMENTEDIT_LOAD); TRACE_ELEMENTEDITSELECTION = getBooleanOption(pluginId + KEY_ELEMENTEDIT_SELECTION); } else { TRACE_CONVERTERLOAD = false; TRACE_CONVERTERSELECT = false; TRACE_ELEMENTEDITLOAD = false; TRACE_ELEMENTEDITSELECTION = 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 PageDesignerTraceOptions() { // no instantiation } }