Sorry for the late response on this one. I've been traveling for 3 weeks straight now, and am catching up on email.
Michael Hunger wrote: > We further did a spike on creating instances of annotations to be > able to add them to metaInfo at startup time. So, when we include > that, we can do sth. like the following. (It's done by creating a > virtual Proxy for the annotation interface - as no other way of > instantiation works :) > > on(Person.class).with().name().set(annotation(Immutable.class,"ignore",true)) > > so we not only can do it at composition (compile-)time but configure > it later as well. This could make for some very powerful features, like turning certain thing off and on depending on environment, but it's also a slippery slope towards flexibilitis (=overflexibility which eventually turns into accidental complexity). > We should but, make MetaInfo an interface, so that the runtime access > only allows getting the information not changing it at runtime. > > Regarding Immutable.ignore -> on setting immutables you could either > throw an RuntimeException or silently ignore it. With this boolean > property you would change the default behaviour of throwing an > exception. I would prefer to not have ignore as an option. It's probably better to have it there always, and then let clients deal with it as they wish. /Rickard _______________________________________________ qi4j-dev mailing list [email protected] http://lists.ops4j.org/mailman/listinfo/qi4j-dev

