yeh i had a quick look and i saw pier using these
proxy classes.
yep GemStone/S Object supports #doesNotUnderstand:. so it shouldnt
be too difficult to either refactor or add MADynamicObject later.
however GemStone/S doesnt support protoObject. so i guess the
MADynamicproxyObject will have to inherit from Object
What is the superclass of Object in GemStone/S?
I guess MADynamicObject should have the same (probably this is nil).
Lukas
From: renggli(a)iam.unibe.ch
Subject: Re: Magritte- MAProxyObject, MADynamic object
Date: Thu, 11 Oct 2007 20:14:42 +0200
To: smallwiki(a)iam.unibe.ch
> thanks lukas, make sense. For the port to GemStone/S i might leave
> MAProxyObject and MADynamicObject out. it can always be added
later
if people
really want it.
what do you think ?
Yes, I would do so.
Pier has some users, but we could either refactor those or port
MADynamicObject later on. I guess GemStone/S also supports
#doesNotUnderstand:?
Lukas
>
> > From: renggli(a)iam.unibe.ch
> > Subject: Re: Magritte- MAProxyObject, MADynamic object
> > Date: Thu, 11 Oct 2007 18:14:43 +0200
> > To: smallwiki(a)iam.unibe.ch
> >
> > > what and how are MAProxyObject and MADynamicObject used in
> magritte ?
> > > i know it acts as a proxy for a 'real Object'. where are these
> > > proxies used
> > > ?
> >
> > It is rarely used, I try to avoid its use as much as possible.
> > MAProxyObject is an abstract class. MADynamicObject is
created when
> > sending the message #asDynamicObject to
a block.
> >
> > The idea is to have dynamic properties in descriptions (or other
> > objects). For example in Pier the owner of a structure is
described
> > on the class side with something like:
> >
> > MASingleOptionDescription new
> > beSorted;
> > label: 'Owner';
> > selectorAccessor: #owner;
> > reference: PUUser description;
> > options: [ self allUsers ] asDynamicObject;
> > yourself
> >
> > This means every time the options are queried the sender gets a
> proxy
> > object that (most of the time) resolves to the list of all
available
> > users.
> >
> > Again, this is cool magic that works most of the time, but I
> strongly
> > discourage to use it. In all cases it is possible to avoid
its use
> > all-together, for example by overriding
#description on the
instance
> > side and adding the description
manually instead of defining
it on
the class side. I am just too lazy to do that
sometimes ;-)
Cheers,
Lukas
--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Check our comprehensive Salary Centre Overpaid or Underpaid?
_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Find it at
www.seek.com.au Your Future Starts Here. Dream it? Then
be it!
_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki