From: patriot1burke Date: Tue, 22 Apr 2003 14:08:16 +0000 (+0000) Subject: changed licensing X-Git-Tag: rel_3_17_1_ga~596 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=fb431982111b03608b888953f7ed8ba7e98f421c;p=javassist.git changed licensing git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@8 30ef5769-5b8d-40dd-aea6-55b5d6557bb3 --- diff --git a/Readme.html b/Readme.html index cfb73123..7b154ce1 100644 --- a/Readme.html +++ b/Readme.html @@ -1,453 +1,457 @@ - - - - Read Me First - - - -

Javassist version 2

- -

in February, 2003. -
Copyright (C) 2000-2003 by Shigeru Chiba, All rights reserved.

- -


- -

Javassist (JAVA programming ASSISTant) is yet another reflective -system for Java. 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. On the other hand, the bytecode-level API allows -the users to directly edit a class file. - -


- -

Files

- - - -

To extract source files from the archive, use the jar command:
- -

- - -


- -

How to run sample programs

- -

JDK 1.2.2 or later is needed. - -

1. Move to the directory where this Readme.html file is located.

- -

In the description below, we assume that the platform is JDK 1.2 -(or later) for Solaris. If the platform is JDK 1.2 (or later) for -Windows, the class-path option is: - -

- -

If you don't want to put the class-path option, copy -./javassist.jar to - -

- -

<java-home> depends on the system. It is usually -/usr/local/java, c:\jdk1.2\, etc. - -

If you don't use javassist.jar, first compile Javassist: -

- -

Then you can compile and run the sample programs without the class-path -option. - -

2. sample/Test.java

- -

This is a very simple program using Javassist. - -

To run, type the commands: - -

- -

For more details, see sample/Test.java - -

3. sample/reflect/*.java

- -

This is the "verbose metaobject" example well known in reflective - programming. This program dynamically attaches a metaobject to - a Person object. The metaobject prints a message if a method - is called on the Person object. - -

To run, type the commands: - -

- -

Compare this result with that of the regular execution without reflection: - -

- -

For more details, see sample/reflect/Main.java - -

Furthermore, the Person class can be statically modified so that - all the Person objects become reflective without sample.reflect.Main. - To do this, type the commands: - -

- -

Then, -

- -

4. sample/duplicate/*.java

- -

This is another example of reflective programming. - -

To run, type the commands: - -

- -

Compare this result with that of the regular execution without reflection: - -

- -

For more details, see -sample/duplicate/Main.java - -

5. sample/vector/*.java

- -

This example shows the use of Javassit for producing a class representing -a vector of a given type at compile time. -This is a demonstration of the use of javassist.preproc package. - -

To run, type the commands: -

- -

For more details, see -sample/vector/Test.j -and sample/vector/VectorAssistant.java - -

6. sample/rmi/*.java

- -

This demonstrates the javassist.rmi package. - -

To run, type the commands: -

- -

The second line starts a web server listening to port 5001. - -

Then, open sample/rmi/webdemo.html -with a web browser running - on the local host. (webdemo.html trys to fetch an applet from - http://localhost:5001/, which is the web server we started above.) - -

Otherwise, run sample.rmi.CountApplet as an application: - -

- -

7. sample/evolve/*.java

- -

This is a demonstration of the class evolution mechanism implemented - with Javassist. This mechanism enables a Java program to reload an - existing class file under some restriction. - -

To run, type the commands: -

- -

The second line starts a class loader DemoLoader, which runs a web - server DemoServer listening to port 5003. - -

Then, open http://localhost:5003/demo.html with a web browser running - on the local host. -(Or, see sample/evolve/start.html.) - -

8. Hints

- -

Javassist provides a class file viewer for debugging. For more details, -see javassist.Dump. - -


- -

Changes

- -

- version 2.4 in February, 2003. -

- -

- version 2.3 in December, 2002. -

- -

- version 2.2 in October, 2002. -

- -

- version 2.1 in July, 2002. -

- -

- version 2.0 (major update) in November, 2001. -

- -

version 1.0 in July, 2001. -

- -

- version 0.8 -

- -

- version 0.7 -

- -

- version 0.6 -

- -

- version 0.5 -

- -

- version 0.4 -

- -

- version 0.3 -

- -

- version 0.2 -

- -

-version 0.1 in April, 1999. -

- -


- -

Bug reports etc.

- -
-
Bug reports: -
chiba@acm.org -
or -chiba@is.titech.ac.jp -
- -

The home page of Javassist: -
http://www.csg.is.titech.ac.jp/~chiba/javassist - -

The Javassist mailing list: -
javassist@csg.is.titech.ac.jp -
- -


- -

Copyright notices

- -

This software is subject to the Mozilla Public -License Version 1.1. - -

Software distributed under the License is distributed on an "AS IS" -basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -the License for the specific language governing rights and limitations -under the License. - -

The Original Code is Javassist. - -

The Initial Developer of the Original Code is Shigeru Chiba. -
Portions -created by Shigeru Chiba are Copyright (C) 1999-2003 Shigeru Chiba. -All Rights Reserved. - -


- -

Acknowledgments

- -

The development of this software is sponsored in part by the PRESTO -program (Sakigake Kenkyu 21) of Japan -Science and Technology Corporation. - -

I'd like to thank Michiaki Tatsubori, Johan Cloetens, -Philip Tomlinson, Alex Villazon, Pascal Rapicault, Dan HE, Eric Tanter, -Michael Haupt, Toshiyuki Sasaki, Renaud Pawlak, Luc Bourlier, -Eric Bui, Lewis Stiller, Susumu Yamazaki, Rodrigo Teruo Tomita, -Marc Segura-Devillechaise, Jan Baudisch, Julien Blass, Yoshiki Sato, -Fabian Crabus, Bo Norregaard Jorgensen, Bob Lee, Bill Burke, -Remy Sanlaville, Muga Nishizawa, Alexey Loubyansky, Saori Oki, -Andreas Salathe, and Dante Torres estrada for their contributions. - -


- -


-Shigeru Chiba -(Email: chiba@is.titech.ac.jp) -
Dept. of Math. and Computing Sciences, -Tokyo Institute of Technology + + + + Read Me First + + + +

Javassist version 2

+ +

in February, 2003. +
Copyright (C) 2000-2003 by Shigeru Chiba, All rights reserved.

+ +


+ +

Javassist (JAVA programming ASSISTant) is yet another reflective +system for Java. 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. On the other hand, the bytecode-level API allows +the users to directly edit a class file. + +


+ +

Files

+ + + +

To extract source files from the archive, use the jar command:
+ +

+ + +


+ +

How to run sample programs

+ +

JDK 1.2.2 or later is needed. + +

1. Move to the directory where this Readme.html file is located.

+ +

In the description below, we assume that the platform is JDK 1.2 +(or later) for Solaris. If the platform is JDK 1.2 (or later) for +Windows, the class-path option is: + +

+ +

If you don't want to put the class-path option, copy +./javassist.jar to + +

+ +

<java-home> depends on the system. It is usually +/usr/local/java, c:\jdk1.2\, etc. + +

If you don't use javassist.jar, first compile Javassist: +

+ +

Then you can compile and run the sample programs without the class-path +option. + +

2. sample/Test.java

+ +

This is a very simple program using Javassist. + +

To run, type the commands: + +

+ +

For more details, see sample/Test.java + +

3. sample/reflect/*.java

+ +

This is the "verbose metaobject" example well known in reflective + programming. This program dynamically attaches a metaobject to + a Person object. The metaobject prints a message if a method + is called on the Person object. + +

To run, type the commands: + +

+ +

Compare this result with that of the regular execution without reflection: + +

+ +

For more details, see sample/reflect/Main.java + +

Furthermore, the Person class can be statically modified so that + all the Person objects become reflective without sample.reflect.Main. + To do this, type the commands: + +

+ +

Then, +

+ +

4. sample/duplicate/*.java

+ +

This is another example of reflective programming. + +

To run, type the commands: + +

+ +

Compare this result with that of the regular execution without reflection: + +

+ +

For more details, see +sample/duplicate/Main.java + +

5. sample/vector/*.java

+ +

This example shows the use of Javassit for producing a class representing +a vector of a given type at compile time. +This is a demonstration of the use of javassist.preproc package. + +

To run, type the commands: +

+ +

For more details, see +sample/vector/Test.j +and sample/vector/VectorAssistant.java + +

6. sample/rmi/*.java

+ +

This demonstrates the javassist.rmi package. + +

To run, type the commands: +

+ +

The second line starts a web server listening to port 5001. + +

Then, open sample/rmi/webdemo.html +with a web browser running + on the local host. (webdemo.html trys to fetch an applet from + http://localhost:5001/, which is the web server we started above.) + +

Otherwise, run sample.rmi.CountApplet as an application: + +

+ +

7. sample/evolve/*.java

+ +

This is a demonstration of the class evolution mechanism implemented + with Javassist. This mechanism enables a Java program to reload an + existing class file under some restriction. + +

To run, type the commands: +

+ +

The second line starts a class loader DemoLoader, which runs a web + server DemoServer listening to port 5003. + +

Then, open http://localhost:5003/demo.html with a web browser running + on the local host. +(Or, see sample/evolve/start.html.) + +

8. Hints

+ +

Javassist provides a class file viewer for debugging. For more details, +see javassist.Dump. + +


+ +

Changes

+ +

- version 2.4 in February, 2003. +

+ +

- version 2.3 in December, 2002. +

+ +

- version 2.2 in October, 2002. +

+ +

- version 2.1 in July, 2002. +

+ +

- version 2.0 (major update) in November, 2001. +

+ +

version 1.0 in July, 2001. +

+ +

- version 0.8 +

+ +

- version 0.7 +

+ +

- version 0.6 +

+ +

- version 0.5 +

+ +

- version 0.4 +

+ +

- version 0.3 +

+ +

- version 0.2 +

+ +

-version 0.1 in April, 1999. +

+ +


+ +

Bug reports etc.

+ +
+
Bug reports: +
chiba@acm.org +
or +chiba@is.titech.ac.jp +
+ +

The home page of Javassist: +
http://www.csg.is.titech.ac.jp/~chiba/javassist + +

The Javassist mailing list: +
javassist@csg.is.titech.ac.jp +
+ +


+ +

Copyright notices

+ +

+This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. +

+ +

Software distributed under the License is distributed on an "AS IS" +basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +the License for the specific language governing rights and limitations +under the License. + +

The Original Code is Javassist. + +

The Initial Developer of the Original Code is Shigeru Chiba. +
Portions +created by Shigeru Chiba are Copyright (C) 1999-2003 Shigeru Chiba. +All Rights Reserved. + +


+ +

Acknowledgments

+ +

The development of this software is sponsored in part by the PRESTO +program (Sakigake Kenkyu 21) of Japan +Science and Technology Corporation. + +

I'd like to thank Michiaki Tatsubori, Johan Cloetens, +Philip Tomlinson, Alex Villazon, Pascal Rapicault, Dan HE, Eric Tanter, +Michael Haupt, Toshiyuki Sasaki, Renaud Pawlak, Luc Bourlier, +Eric Bui, Lewis Stiller, Susumu Yamazaki, Rodrigo Teruo Tomita, +Marc Segura-Devillechaise, Jan Baudisch, Julien Blass, Yoshiki Sato, +Fabian Crabus, Bo Norregaard Jorgensen, Bob Lee, Bill Burke, +Remy Sanlaville, Muga Nishizawa, Alexey Loubyansky, Saori Oki, +Andreas Salathe, and Dante Torres estrada for their contributions. + +


+ +


+Shigeru Chiba +(Email: chiba@is.titech.ac.jp) +
Dept. of Math. and Computing Sciences, +Tokyo Institute of Technology