[abc-users] Behaviour of release(..) method in relational aspects

From: Alan Teoh <alan.teoh07_at_imperial.ac.uk>
Date: Thu, 06 Mar 2008 12:00:45 +0000

Hi,

I have been trying out a few examples with relational aspects, compiled
using the SVN build(Thanks to Eric for the link).
One of the few observations that caught my attention was the release(..)
method.

How does the release(..) method work? Does it look up a table of
associations and revoke the specific association according to the vector
of objects (if it exists)?

For example, I have the following code, where RA is some relational aspect:

Object o1 = new Object();
Object o2= new Object();
RA.associate(o1, o2); //o1 and o2 are now associated through RA
RA.release(o2, o1); // Compiles fine and no run time errors as well

It is the RA.release(o2, o1) call that is of interest. This call
obviously does not have any effect on the association between o1 and o2,
but my question is why is it allowed to run freely on the main program?
I would have thought an error or some sort of warning would be thrown,
citing the non-existence of the association (o2, o1).

I am just asking this out of curiosity.

Many thanks.
Received on Thu Mar 06 2008 - 12:00:51 GMT

This archive was generated by hypermail 2.2.0 : Thu Mar 06 2008 - 14:40:07 GMT