Access Keys:
Skip to content (Access Key - 0)

Reflection Madness

Abstract

In this presentation, we will look at some advanced uses of reflection to delegate method calls automatically, to determine where we are being called from and to create new enum values dynamically for unit test purposes, including modifying the switch statements on-the-fly. We will look at how we can use the stack information to determine the class type in a static context. We will demonstrate how Externalizable allows the private state of an object to be read and then modified. Lastly we will demonstrate how we can construct new objects without calling any of the available constructors. This talk will be aimed at the advanced Java specialist who does not shy away from reflection code. Topics from the Java Specialists Newsletter and related research.

Speaker


View talk on Parleys.com

retweet

Do you like this talk?


Related Presentations

Instant Updates and Rollbacks in Production Applications
10 Years of The Java Specialists' Newsletter
The state of Java SE 7
Developing Substantial Java Desktop Applications
Language-Oriented Programming in Action
Java SE The Road Ahead
Reflection Madness
Project Lambda To Multicore and Beyond
The Modular Java Platform
Java Puzzlers - Scraping the Bottom of the Barrel

Search by Tag

Below are the 190 labels used in Devoxx 2010 listed alphabetically. Click on a label to see its associated content.
activiti, actors, adobe, agile, air, ajax, akka, alm, amazon, analysis, android, animations, annotations, apache, ast, asynchronous, atomsphere, authentication, authorization, authz, azure bayeux, birt, blackberry, bof, bpm caching, camel, cassandra, cdi, ci, clojure, closures, cloud, clusters, collaboration, collections, comet, conference
design, devops, dsl, duchess, dvcs, ec2, eclipse, ehcache, ejb3, ejb31 faces, fantom, findbugs, flash, flex, flex4, foss gae, gaelyk, gis, git, glassfish, google, grails, groovy, gui, guice, gwt
hadoop, hazelcast, hbase, hdfs, hibernate, hive, html, html5, http, hudson, infinispan, ioc, iphone, itext, izpack j2ee, java7, java8, javaee, javaee6, javafx, javaposse, javascript, javase, javase7, javase8, jax-rs, jax-ws, jdk, jdk7, jdk8, jms, jmx, jpa, jpa2, jquery, jsf, jsf2, jsonp, jsr299, jsr330, jug, jvm labs, lambda, loadui, lombok, mahout, mapreduce, maven, methodology, microsoft, mobile, modules, mongodb, morlocks, multicore, mylyn
news, nexus, no-sidebar, nosql, oauth, oltp, openam, openid, openjdk, openoffice, osgi parleys, patterns, pdf, performance, prototype, puzzlers, quickie, rails, repl, reporting, rest, ria, roo scala, scalable, seam, search, servlet, servlet3, soa, soloist, speakers, spock, spring, springmvc, sql, stm, struts, svn, symbian
tapestry, tdd, testing, tools, tools_in_action, twitter, uma, uml, university, url, visualvm, voldemort w3c, web20, webos, websockets, websphere, weld, wicket, ws-addressing, wtp, xfa, xhr, xml
Adaptavist Theme Builder Powered by Atlassian Confluence