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

org.eclipse.core.runtime.IAdapterFactory 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) 2000, 2020 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
 *     Sergey Prigogin (Google) - use parameterized types (bug 442021)
 *     Christoph Laeubrich - Bug 567344 - Support registration of IAdapterFactory as OSGi Service
 *******************************************************************************/
package org.eclipse.core.runtime;

/**
 * An adapter factory defines behavioral extensions for
 * one or more classes that implements the IAdaptable
 * interface. Adapter factories are registered with an
 * adapter manager.
 * 

* This interface can be used without OSGi running. *

* Clients may implement this interface. *

* @see IAdapterManager * @see IAdaptable */ public interface IAdapterFactory { /** * Service property to use when registering a factory as OSGi-service to declare the adaptable class type, this is a multi-string-property, if more than one is given the factory will be register multiple times * @since 3.14 */ static final String SERVICE_PROPERTY_ADAPTABLE_CLASS = "adaptableClass"; //$NON-NLS-1$ /** * Optional service property to use when registering a factory as OSGi-service to declare the possible adapter types. If the property is given, the service is only queried when actually required, this is a multi-string-property. * @since 3.14 */ static final String SERVICE_PROPERTY_ADAPTER_NAMES = "adapterNames"; //$NON-NLS-1$ /** * Returns an object which is an instance of the given class * associated with the given object. Returns null if * no such object can be found. * * @param adaptableObject the adaptable object being queried * (usually an instance of IAdaptable) * @param adapterType the type of adapter to look up * @return a object of the given adapter type, * or null if this adapter factory * does not have an adapter of the given type for the * given object */ public T getAdapter(Object adaptableObject, Class adapterType); /** * Returns the collection of adapter types handled by this * factory. *

* This method is generally used by an adapter manager * to discover which adapter types are supported, in advance * of dispatching any actual getAdapter requests. *

* * @return the collection of adapter types */ public Class[] getAdapterList(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy