org.mvel.asm

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Scripting » mvel » org.mvel.asm 
org.mvel.asm
Provides a small and fast bytecode manipulation framework.

The ASM framework is organized around the {@link org.mvel.asm.ClassVisitor ClassVisitor}, {@link org.mvel.asm.FieldVisitor FieldVisitor} and {@link org.mvel.asm.MethodVisitor MethodVisitor} interfaces, which allow one to visit the fields and methods of a class, including the bytecode instructions of each method.

In addition to these main interfaces, ASM provides a {@link org.mvel.asm.ClassReader ClassReader} class, that can parse an existing class and make a given visitor visit it. ASM also provides a {@link org.mvel.asm.ClassWriter ClassWriter} class, which is a visitor that generates Java class files.

In order to generate a class from scratch, only the {@link org.mvel.asm.ClassWriter ClassWriter} class is necessary. Indeed, in order to generate a class, one must just call its visitXXX methods with the appropriate arguments to generate the desired fields and methods. See the "helloworld" example in the ASM distribution for more details about class generation.

In order to modify existing classes, one must use a {@link org.mvel.asm.ClassReader ClassReader} class to analyze the original class, a class modifier, and a {@link org.mvel.asm.ClassWriter ClassWriter} to construct the modified class. The class modifier is just a {@link org.mvel.asm.ClassVisitor ClassVisitor} that delegates most of the work to another {@link org.mvel.asm.ClassVisitor ClassVisitor}, but that sometimes changes some parameter values, or call additional methods, in order to implement the desired modification process. In order to make it easier to implement such class modifiers, ASM provides the {@link org.mvel.asm.ClassAdapter ClassAdapter} and {@link org.mvel.asm.MethodAdapter MethodAdapter} classes, which implement the {@link org.mvel.asm.ClassVisitor ClassVisitor} and {@link org.mvel.asm.MethodVisitor MethodVisitor} interfaces by delegating all work to other visitors. See the "adapt" example in the ASM distribution for more details about class modification.

The size of the core ASM library, asm.jar, is only 42KB, which is much smaller than the size of the BCEL library (504KB), and than the size of the SERP library (150KB). ASM is also much faster than these tools. Indeed the overhead of a load time class transformation process is of the order of 60% with ASM, 700% or more with BCEL, and 1100% or more with SERP (see the test/perf directory in the ASM distribution)! @since ASM 1.3

Java Source File NameTypeComment
AnnotationVisitor.javaInterface A visitor to visit a Java annotation.
AnnotationWriter.javaClass An AnnotationVisitor that generates annotations in bytecode form.
Attribute.javaClass A non standard class, field, method or code attribute.
ByteVector.javaClass A dynamically extensible vector of bytes.
ClassAdapter.javaClass An empty ClassVisitor that delegates to another ClassVisitor .
ClassReader.javaClass A Java class parser to make a ClassVisitor visit an existing class.
ClassVisitor.javaInterface A visitor to visit a Java class.
ClassWriter.javaClass A ClassVisitor that generates classes in bytecode form.
Edge.javaClass An edge in the control flow graph of a method body.
FieldVisitor.javaInterface A visitor to visit a Java field.
FieldWriter.javaClass An FieldVisitor that generates Java fields in bytecode form.
Frame.javaClass Information about the input and output stack map frames of a basic ast.
Handler.javaClass Information about an exception handler ast.
Item.javaClass A constant pool item.
Label.javaClass A label represents a position in the bytecode of a method.
MethodAdapter.javaClass An empty MethodVisitor that delegates to another MethodVisitor .
MethodVisitor.javaInterface A visitor to visit a Java method.
MethodWriter.javaClass A MethodVisitor that generates methods in bytecode form.
Opcodes.javaInterface Defines the JVM opcodes, access flags and array type codes.
Type.javaClass A Java type.
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.