This actually looks like adding complexity.<p>Switch statements are rarely used in my experience in preference to array indexing/hashmap/properties or just if/else.<p>Now Java devs need to remember switches can have guards, do auto boxing, and can do work which is duplicating getters/setters or just general purpose validation by annotation (JSR 303 if memory serves).<p>This is a good example of Java becoming bloated imho. Something like JSRs such as streams were useful syntactic sugar for functional and threaded programming, but something like this adds no tangible benefits over what is already in the language.