2009-05-08

Locking in ECO 5

Jonas has just added the following feature to ECO 5 which should turn up in the next build.

Let's say you have a package with a single class LockObject in it. This LockObject must have TimeStamp locking, but you use this package in many applications.  In ECO 5 you can set the default locking mode for a package.

Now let's say you have multiple packages that you use in many applications and the locking type is different per app.  App 1 uses AllMembers locking, App 2 uses no locking at all; how can you specify the locking type?  Now you can add a .NET attribute to the top of your application specific EcoSpace class....

[UmlTaggedValue("Eco.OptimisticLocking", "AllMembers")]
public class Application1EcoSpace : DefaultEcoSpace
{
  etc....
}

Locking is determined like so:
  1. The kind specified on the class itself.
  2. The kind specified on any super class.
  3. The kind specified on the package.
  4. The kind specified on the EcoSpace.

No comments: