To complete my understanding:

Is the use of CompositeBuilder.stateOfComposite() always needed, or only 
if I want to have constraints checked during the instantiation phase or 
when I must use it because of ImmutableProperty instances in the entity?

Or the other way round: When will I use UnitOfWork.newEntity(...)?

Thanks
        Georg


Rickard Öberg Wrote:
> Georg Ragaller wrote:
>>  > I think the current bug is that constraints aren't checked for default
>>  > values, and also are not checked upon instance creation. That is the
>>  > real bug. In the above, you are creating an Entity, whereas you really
>>  > should be creating a CompositeBuilder, set the properties using
>>  > stateOfComposite() and only then call newInstance(). This way the
>>  > constraints will be properly checked.
>>
>> So the correct way should be (?):
>>
>>      UnitOfWork uow = uowf.newUnitOfWork();
>>      CompositeBuilder<Book> cb = uow.newEntityBuilder(Book.class);
>>      cb.stateOfComposite().title().set("Qi4j in Action");
>>
>>      Book book = cb.newInstance();
>>      uow.complete();
>>
>> But that still works (I expected newInstance() to throw a 
>> ConstraintViolationException), or was that the "current bug" you 
>> referred to? Or is the code still missing something?
> 
> No, that's the bug.
> 
> /Rickard
> 
> 
> _______________________________________________
> qi4j-dev mailing list
> [email protected]
> http://lists.ops4j.org/mailman/listinfo/qi4j-dev
> 
> 

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to