Because Meta Programming must be easy.


Mirror is a simple DSL layer over Java Reflection API, designed to make the use of this powerful a lot tool easier. Forget about thousands of exceptions thrown at your face. Forget about those completely unreadable lines of code. Simplicity is really powerful too.Mirror project started around June 2008, implementing something close to the idea gave by a great programmer, Nico Steppat (, when asked how to remove that ugly static-full ReflectionUtil from the code base of a project we were working at.


Mirror uses a simple versioning system: mirror-A.B.C.jar Since Mirror is a DSL, any changes to the DSL itself is assumed to be an API change. The underneath objects that formerly provided the changed feature will not be considered.

Release Notes


You can browse all Mirror releases and sources at or . If you use maven to build your project, you can just add the following lines to your pom.xml:
Or even browse and checkout our sources at .

BugTracker And Email lists

Email Lists Bugtracker Just go to and don't be ashamed of creating a new ticket!

Project Members

Currently active project members are:

Maven Reports

You can access maven reports here:


You can find javadoc for this project here:

Get Involved

You can get involved to Mirror in a lot of ways. If you are just using it, you are already really helping us. Patches of any kind (source, documentation, etc) are always welcome. You can send your patches through our bugtracking system. Another way you can help is by answering new user's questions on our mailing lists and also by giving us your feedback. You can even translate Mirror documentation to your native language and help us spreading the project around the world.