예제 #1
0
  private byte[] modifiyClass(byte[] classfile, String name) {

    ClassParser parser = new ClassParser(new ByteArrayInputStream(classfile), "");
    try {
      JavaClass cls = parser.parse();

      for (JavaClassModifier modifier :
          ConfigurationLoader.getInstance().getJavaClassModifierList()) {
        modifier.modify(cls);
      }

      ByteArrayOutputStream out = new ByteArrayOutputStream();
      cls.dump(out);

      return out.toByteArray();
    } catch (Exception e) {
      throw new RuntimeException("Error while modifying class '" + name + "'", e);
    }
  }