InfoQ Homepage Presentations Have Your Cake and Eat It Too: Meta-Programming Techniques for Java
Have Your Cake and Eat It Too: Meta-Programming Techniques for Java
Summary
Howard Lewis Ship discusses how to add extend class functionality at runtime via meta-programming for Java using Tapestry Plastic.
Bio
Howard Lewis Ship is the creator of the Apache Tapestry project, and is a noted expert on Java framework design and developer productivity. He has over twenty years of full-time software development under his belt, with over ten years of Java. Howard is a frequent speaker at JavaOne, NoFluffJustStuff, ApacheCon and other conferences, and the author of "Tapestry in Action". Twitter: @hlship.
About the conference
Software is changing the world; QCon aims to empower software development by facilitating the spread of knowledge and innovation in the enterprise software development community; to achieve this, QCon is organized as a practitioner-driven conference designed for people influencing innovation in their teams: team leads, architects, project managers, engineering directors.
Community comments
Strange Loop
by Alex Miller,
Subsequent improvements
by Howard Lewis Ship,
Strange Loop
by Alex Miller,
Your message is awaiting moderation. Thank you for participating in the discussion.
If you're interested in other upcoming videos from Strange Loop, the full release schedule is here and all slides are here. If you want to be notified about Strange Loop announcements in the future, sign up for the mailing list.
Subsequent improvements
by Howard Lewis Ship,
Your message is awaiting moderation. Thank you for participating in the discussion.
Even though its only been a couple of months since this talk, I have put some improvements into plastic, with more coming. The big one is that instance fields are no longer required to be private; if a field is transformed in some way (say, providing a conduit, or an injection), it must be private, protected, or package private. If a field is not affected (say, a final field), it may now even be public. This is available in Tapestry 5.3.2 (the current stable release) and in 5.4.