Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (c) 2006, 2009 IBM 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: IBM Corporation - initial API and implementation /
 
 
 package org.eclipse.osgi.internal.baseadaptor;
 
 import java.io.File;
 
 	public static final String KEY = DevClassLoadingHook.class.getName();
 	public static final int HASHCODE = .hashCode();
 	private static final String FRAGMENT = "@fragment@"//$NON-NLS-1$
 
 	public byte[] processClass(String namebyte[] classbytesClasspathEntry classpathEntryBundleEntry entryClasspathManager manager) {
 		// Do nothing
 		return null;
 	}
 
 	public boolean addClassPathEntry(ArrayList cpEntriesString cpClasspathManager hostmanagerBaseData sourcedataProtectionDomain sourcedomain) {
 		// first check that we are in devmode for this sourcedata
 		String[] devClassPath = !DevClassPathHelper.inDevelopmentMode() ? null : DevClassPathHelper.getDevClassPath(sourcedata.getSymbolicName());
 		if (devClassPath == null || devClassPath.length == 0)
 			return false// not in dev mode return
 		// check that dev classpath entries have not already been added; we mark this in the first entry below
 		if (cpEntries.size() > 0 && ((ClasspathEntrycpEntries.get(0)).getUserObject() != null)
 			return false// this source has already had its dev classpath entries added.
 		boolean result = false;
 		for (int i = 0; i < devClassPath.lengthi++) {
 			if (ClasspathManager.addClassPathEntry(cpEntriesdevClassPath[i], hostmanagersourcedatasourcedomain))
 				result = true;
 			else {
 				// if in dev mode, try using the cp as an absolute path
 				// we assume absolute entries come from fragments.  Find the source
 				String devCP = devClassPath[i];
 				boolean fromFragment = devCP.endsWith();
 				if (fromFragment)
 					devCP = devCP.substring(0, devCP.length() - .length());
 				BaseData fragData = findFragmentSource(sourcedatadevCPhostmanagerfromFragment);
 				if (fragData != null) {
 					ClasspathEntry entry = hostmanager.getExternalClassPath(devCPfragDatasourcedomain);
 					if (entry != null) {
 						cpEntries.add(entry);
 						result = true;
 					}
 				}
 			}
 		}
 		// mark the first entry of the list.  
 		// This way we can quickly tell that dev classpath entries have been added to the list
 		if (result && cpEntries.size() > 0)
 			((ClasspathEntrycpEntries.get(0)).addUserObject(this);
 		return result;
 	}
 
 	private BaseData findFragmentSource(BaseData hostDataString cpClasspathManager managerboolean fromFragment) {
 		if (hostData != manager.getBaseData())
 			return hostData;
 
 		File file = new File(cp);
 		if (!file.isAbsolute())
 			return hostData;
 		FragmentClasspath[] fragCP = manager.getFragmentClasspaths();
 		for (int i = 0; i < fragCP.lengthi++) {
 			BundleFile fragBase = fragCP[i].getBundleData().getBundleFile();
 			File fragFile = fragBase.getBaseFile();
 			if (fragFile != null && file.getPath().startsWith(fragFile.getPath()))
 				return fragCP[i].getBundleData();
 		}
 		return fromFragment ? null : hostData;
 	}
 
 	public String findLibrary(BaseData dataString libName) {
 		// Do nothing
 		return null;
 	}
 
 		// Do nothing
 		return null;
 	}
 
 	public BaseClassLoader createClassLoader(ClassLoader parentClassLoaderDelegate delegateBundleProtectionDomain domainBaseData dataString[] bundleclasspath) {
		// do nothing
		return null;
	}
	public void initializedClassLoader(BaseClassLoader baseClassLoaderBaseData data) {
		// do nothing
	}
	public void addHooks(HookRegistry hookRegistry) {
		if (DevClassPathHelper.inDevelopmentMode())
			// only add dev classpath manager if in dev mode
	}
	public boolean compare(KeyedElement other) {
		return other.getKey() == ;
	}
	public Object getKey() {
		return ;
	}
	public int getKeyHashCode() {
		return ;
	}
New to GrepCode? Check out our FAQ X