Just added a short blurb on Objects to the docs, but more is needed. Anecdote; A long time in the early days of Qi4j, I spent a lot of time writing documentation. For many things, I wrote the documentation first and Rickard would use it to implement the right behavior. We worked almost side-by-side with docs and code, as features were investigated, developed and added. Great days.
Anyway, I will try to get that online today. Niclas On Fri, Apr 15, 2016 at 12:21 PM, Niclas Hedhman <[email protected]> wrote: > > 1. Values are not directly persistable. Entities is the only way. In 3.0, > I am considering changing the definition of Entity to be "Entity = > ValueComposite assigned to an Identity", The upside is that > ConcurrentModification is easier to handle. The downside is that I also > want to support EventSourcing, i.e. only write down the changes and not the > current state. Those are somewhat contradictory ways of doing it, and may > not be easy to reconcile. > > 2. No. > > 3. Objects is one way to allow ordinary Java classes to participate in the > Zest Runtime. So, I can do; > > public class Abc > { > @Structure > private UnitOfWorkFactory uowf; > : > : > } > > and declare that class as an Object. > For it to work, the Object must be instantiated with the ObjectFactory > (part of Module in 2.1). Objects also have @Uses annotations on fields and > constructor arguments, and they are passed in the ObjectFactory.newObject() > method call. Multiple object instances of the same type is not supported > (yet?). > > ObjectFactory also has the injectInto() method, in the cases where some > other system needs to do the instantiation of your class (say Spring), but > you want to inject the Zest Runtime model into it after it has been created > (of course, doesn't work with Constructor injection, only fields). > > > Cheers > Niclas > > > On Fri, Apr 15, 2016 at 12:05 PM, zhuangmz08 <[email protected]> wrote: > >> Hi, I'm confused with value/transient/entity composite, my question is, >> I can get entities after I fire a query using query-API inside a >> UnitOfWork. >> 1. Can I get value composite by query API? If I cannot, value is >> persistentable only in a Entity? >> 2. Can I query transient? I guess not. >> 3. >> module.values()/.entities()/.transients()/.services()/.configurations() is >> used to declare those 5 types of composite. Then, what does >> module.objects() mean? >> Thanks a lot. > > > > > -- > Niclas Hedhman, Software Developer > http://zest.apache.org - New Energy for Java > -- Niclas Hedhman, Software Developer http://zest.apache.org - New Energy for Java
