List of usage examples for org.apache.commons.javaflow.utils ContinuationClassLoader defineClassFromData
public Class<?> defineClassFromData(final byte[] classData, final String classname)
From source file:org.apache.commons.javaflow.examples.invokedynamic.DynamicInvokerExample.java
private static Class<Runnable> generateDynamicInvokerClass(final String dynamicInvokerClassName) { AbstractDynamicInvokerGenerator generator = new AbstractDynamicInvokerGenerator() { @Override// w w w . j ava2 s . c om protected int addMethodParameters(final MethodVisitor mv) { return 0; } }; byte[] dynamicClassBytes = generator.generateInvokeDynamicRunnable(dynamicInvokerClassName, Type.getType(SimpleDynamicLinkage.class).getInternalName(), "bootstrapDynamic", "()V"); @SuppressWarnings("resource") ContinuationClassLoader delegateClassLoader = new ContinuationClassLoader(new URL[] {}, DynamicInvokerExample.class.getClassLoader(), new Asm5ResourceTransformationFactory()); @SuppressWarnings("unchecked") Class<Runnable> dynamicClass = (Class<Runnable>) delegateClassLoader.defineClassFromData(dynamicClassBytes, dynamicInvokerClassName); return dynamicClass; }