/** * @see org.eclipse.equinox.weaving.hooks.AbstractWeavingHook#recordClassDefine(java.lang.String, * java.lang.Class, byte[], org.eclipse.osgi.baseadaptor.loader.ClasspathEntry, * org.eclipse.osgi.baseadaptor.bundlefile.BundleEntry, * org.eclipse.osgi.baseadaptor.loader.ClasspathManager) */ @Override public void recordClassDefine( final String name, final Class clazz, final byte[] classbytes, final ClasspathEntry classpathEntry, final BundleEntry entry, final ClasspathManager manager) { if (entry instanceof WeavingBundleEntry) { final WeavingBundleEntry ajBundleEntry = (WeavingBundleEntry) entry; if (!ajBundleEntry.dontWeave()) { final IWeavingAdaptor adaptor = ajBundleEntry.getAdaptor(); final URL sourceFileURL = ajBundleEntry.getBundleFileURL(); adaptor.storeClass(name, sourceFileURL, clazz, classbytes); } } }
/** * @see org.eclipse.equinox.weaving.hooks.AbstractWeavingHook#processClass(java.lang.String, * byte[], org.eclipse.osgi.baseadaptor.loader.ClasspathEntry, * org.eclipse.osgi.baseadaptor.bundlefile.BundleEntry, * org.eclipse.osgi.baseadaptor.loader.ClasspathManager) */ @Override public byte[] processClass( final String name, final byte[] classbytes, final ClasspathEntry classpathEntry, final BundleEntry entry, final ClasspathManager manager) { byte[] newClassytes = null; if (entry instanceof WeavingBundleEntry) { final WeavingBundleEntry ajBundleEntry = (WeavingBundleEntry) entry; if (!ajBundleEntry.dontWeave()) { final IWeavingAdaptor adaptor = ajBundleEntry.getAdaptor(); newClassytes = adaptor.weaveClass(name, classbytes); } } return newClassytes; }