Great, you are our hero!

Michael

On Wed, November 5, 2008 16:29, Rickard Öberg wrote:
> Hey,
>
>
> I have now implemented @Optional. This means that by default all method
> parameters are mandatory, and any that can be null have to be marked with
> @Optional. This is in contrast to before, where no assumptions were
> made, and it was possible to use a @NotNull constraint to mark a parameter
> as being mandatory. Since @NotNull should be the normal case that led to a
> whole lot of @NotNulls, but even worse, in many cases where it *should* be
> it wasn't.
>
> With the default being that a parameter is mandatory, this immediately
> made all our API's a whole lot more strict, and a bunch of tests started
> failing (fixing this was actually the bulk of the work). This was GREAT! A
> lot of things were API bugs were found through this change, which is a
> Good Thing!
>
>
> I also implemented this for Property, which was even more revealing. All
> of a sudden ALL Properties became mandatory, with the consequence that a
> whole lot of cases where Entities had been created with newEntity and then
> immediately populated stopped working. This is GOOD! This avoids the
> situation that the Entity is maybe not properly initiated by accident. In
> a ton of places I fixed so that EntityBuilders were used, and the state
> was populated to the builder rather than the entity. Much better!
>
> All in all, I think this change will drastically improve the quality of
> code that uses Qi4j.
>
> /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