| \u001B[1mSYNOPSIS\u001B[0m |
| ${project.description} |
| |
| Original Maven URL: |
| \u001B[33mmvn:http://repository.jboss.org/maven2:${pkgGroupId}/${pkgArtifactId}/${pkgVersion}\u001B[0m |
| |
| \u001B[1mDESCRIPTION\u001B[0m |
| Javassist (Java Programming Assistant) makes Java bytecode manipulation |
| simple. It is a class library for editing bytecodes in Java; it enables |
| Java programs to define a new class at runtime and to modify a class file |
| when the JVM loads it. Unlike other similar bytecode editors, Javassist |
| provides two levels of API: source level and bytecode level. If the users |
| use the source-level API, they can edit a class file without knowledge of |
| the specifications of the Java bytecode. The whole API is designed with only |
| the vocabulary of the Java language. You can even specify inserted bytecode |
| in the form of source text; Javassist compiles it on the fly. On the other |
| hand, the bytecode-level API allows the users to directly edit a class file |
| as other editors. |
| |
| Aspect Oriented Programming: Javassist can be a good tool for adding new |
| methods into a class and for inserting before/after/around advice at the |
| both caller and callee sides. |
| |
| Reflection: One of applications of Javassist is runtime reflection; Javassist |
| enables Java programs to use a metaobject that controls method calls on |
| base-level objects. No specialized compiler or virtual machine are needed. |
| |
| \u001B[1mSEE ALSO\u001B[0m |
| \u001B[36mhttp://www.csg.is.titech.ac.jp/~chiba/javassist/\u001B[0m |