blob: 161d63b0f27ee21424638316f2f84e3310159436 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2008, 2009 Martin Lippert 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:
* Martin Lippert - initial implementation
* Martin Lippert - caching of generated classes
*******************************************************************************/
package org.eclipse.equinox.weaving.internal.caching;
import java.net.URL;
import java.util.Map;
import org.eclipse.equinox.service.weaving.CacheEntry;
import org.eclipse.equinox.service.weaving.ICachingService;
/**
* This implementation of the caching service is responsible for those bundles
* that are not affected by the weaving. This is the case if no aspects are
* being found for this bundle.
*
* This caching service indicates for the runtime system that classes of the
* bundle this caching service belongs to dont need to be passed to the weaving
* service. Instead the original code from the bundle can be used.
*
* @author Martin Lippert
*/
public class UnchangedCachingService implements ICachingService {
/**
* @see org.eclipse.equinox.service.weaving.ICachingService#canCacheGeneratedClasses()
*/
public boolean canCacheGeneratedClasses() {
return false;
}
/**
* @see org.eclipse.equinox.service.weaving.ICachingService#findStoredClass(java.lang.String,
* java.net.URL, java.lang.String)
*/
public CacheEntry findStoredClass(final String namespace,
final URL sourceFileURL, final String name) {
return new CacheEntry(true, null);
}
/**
* @see org.eclipse.equinox.service.weaving.ICachingService#stop()
*/
public void stop() {
}
/**
* @see org.eclipse.equinox.service.weaving.ICachingService#storeClass(java.lang.String,
* java.net.URL, java.lang.Class, byte[])
*/
public boolean storeClass(final String namespace, final URL sourceFileURL,
final Class<?> clazz, final byte[] classbytes) {
return false;
}
/**
* @see org.eclipse.equinox.service.weaving.ICachingService#storeClassAndGeneratedClasses(java.lang.String,
* java.net.URL, java.lang.Class, byte[], java.util.Map)
*/
public boolean storeClassAndGeneratedClasses(final String namespace,
final URL sourceFileUrl, final Class<?> clazz,
final byte[] classbytes, final Map<String, byte[]> generatedClasses) {
return false;
}
}