All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.osgi.service.debug.DebugOptionsListener Maven / Gradle / Ivy

Go to download

AspectJ tools most notably contains the AspectJ compiler (AJC). AJC applies aspects to Java classes during compilation, fully replacing Javac for plain Java classes and also compiling native AspectJ or annotation-based @AspectJ syntax. Furthermore, AJC can weave aspects into existing class files in a post-compile binary weaving step. This library is a superset of AspectJ weaver and hence also of AspectJ runtime.

There is a newer version: 1.9.22.1
Show newest version
/*******************************************************************************
 * Copyright (c) 2009, 2010 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.osgi.service.debug;

import java.util.EventListener;

/**
 * A debug options listener is notified whenever one of its plug-in option-path entries is
 * changed.  A listener is registered as an OSGi service using the {@link DebugOptions#LISTENER_SYMBOLICNAME}
 * service property to specify the symbolic name of the debug options listener.
 * 

* The {@link DebugOptionsListener#optionsChanged(DebugOptions)} method will automatically * be called upon registration of the debug options listener service. This allows the * listener to obtain the initial debug options. This initial call to the listener * will happen even if debug is not enabled at the time of registration * ({@link DebugOptions#isDebugEnabled()} will return false in this case). *

* A debug options listener allows a bundle to cache trace option values in boolean fields for performance * and code cleanliness. For example: *
 * public class Activator implements BundleActivator, DebugOptionsListener {
 * 	public static boolean DEBUG = false;
 * 	public static DebugTrace trace;
 *
 * 	public void start(BundleContext context) {
 * 		Hashtable props = new Hashtable(4);
 * 		props.put(DebugOptions.LISTENER_SYMBOLICNAME, "com.mycompany.mybundle");
 * 		context.registerService(DebugOptionsListener.class.getName(), this, props);
 * 	}
 *
 * 	public void optionsChanged(DebugOptions options) {
 * 		if (trace == null)
 * 			trace = options.newDebugTrace("com.mycompany.mybundle");
 * 		DEBUG = options.getBooleanOption("com.mycompany.mybundle/debug", false);
 * 	}
 *
 * 	public void doSomeWork() {
 * 		if (DEBUG)
 * 			trace.trace(null, "Doing some work");
 * 	}
 * 	...
 * }
 * 
* @since 3.5 */ public interface DebugOptionsListener extends EventListener { /** * Notifies this listener that an option-path for its plug-in has changed. * This method is also called initially by the DebugOptions implementation * when the listener is registered as a service. This allows the listener * to obtain the initial set of debug options without the need to * acquire the debug options service. * @param options a reference to the DebugOptions */ public void optionsChanged(DebugOptions options); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy