Making plain old java objects aware of their own mutations
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Making plain old java objects aware of their own mutations.

The mikenakis-rumination logo.
Based on original from
Used under CC BY License.


This creative work is explicitly published under No License. This means that I remain the exclusive copyright holder of this creative work, and you may not do anything with it other than view its source code and admire it. If you would like to do anything more with it, please contact me.

More information: - Open Source but No License.


mikenakis-rumination is a Java Agent and associated class library that modifies the bytecode of appropriately annotated java classes to ensure that certain so-called ruminator method of the class gets invoked whenever the state of the object is changed by one of its setters. The ruminator method receives the name of the field that was changed. (Since java does not support field literals.)

More information: - GitHub project: mikenakis-rumination

Coding style

When I write code as part of a team of developers, I use the teams' coding style.
But when I write code for myself, I use my very own™ coding style.

More information: - On Coding Style