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

> From: renggli@iam.unibe.ch
> Subject: Re: Magritte- MAProxyObject, MADynamic object
> Date: Thu, 11 Oct 2007 20:14:42 +0200
> To: smallwiki@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@iam.unibe.ch
> > > Subject: Re: Magritte- MAProxyObject, MADynamic object
> > > Date: Thu, 11 Oct 2007 18:14:43 +0200
> > > To: smallwiki@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!