An open API service indexing awesome lists of open source software.

https://github.com/time4tea/jmodium


https://github.com/time4tea/jmodium

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

What is this all about?
========================

It's a Java class file processor that can remove method calls, substiture one method call for another,
replace static access or add location information to existing method calls.

Why would I remove method calls?
================================

Let's say you want to write some software, but then strip out all or some of the debugging or assertions before
shipping the production version, either to reduce class size or reduce execution overhead.

You may wish to remove System.out calls or logging from a library that you don't have the source code for.

What about adding location information?
======================================

When shipping production code, you might want to replace one implementation of a logger with another, say that
integrated with some other layer of your production platform. You can cheaply determine the execution point of the code,
(because it is happening as part of the build process) making it cheap to log.

What are the Java requirements?
-------------------------------

Not much - whatever your platform runs on. The transformed classes will run on the same JVM version as the original.
The file processor runs on your build system, so the runtime cost of the transformations is zero. Of course you could
plug this transformer in as part of the Java Instrumentation API - See http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/instrument/ClassFileTransformer.html

Got a JAR file or some decent docs, or even a build?
------------------------------------

Nope, not yet.