commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Berin Loritsch <blorit...@apache.org>
Subject Re: [clazz] Scope?
Date Sun, 27 Oct 2002 16:54:01 GMT
John Yu wrote:
> At 02:11 pm 27-10-2002, you wrote:
> 
>>
>> So.
>>
>> Are instances of the meta stuff we're talking about descriptions of other
>> classes, or, are they classes themselves?

Yes. ;P

Consider the Class class.  It is a description of a class, and it is a class
itself.  We have to provide the class framework to support programatic
discovery of attributes/metadata.

More importantly, we have to have the ability to query which classes implement
a certain attribute.  Class collections based on attribute queries is a very
powerful feature that I would like to borrow from C#.


> (When I use the term "metaclass framework", I mean a MOP API which 
> allows you to manipulate class definition at runtime.)

Ah, I mean something much more simple.  All I need is attributes associated
with a class/member.


> What exactly does "metadata" do/mean? (This is a sincere question. :-)
> More precisely, what can Alavon's "meta-attributes" do? (Again, a 
> sincere question.)

Meta is a very broad term.  In its simplest form all it is "Information
about information".  That's all.  I don't like making the information
active.

Avalon is a component architecture.  All component architectures (like
EJBs, Servlets, etc.) have a container that manages all the instances
of components.  Components use a lookup mechanism to find other components,
and the container returns a particular instance of the component to
the requestor.  In EJB/Servlet environments that lookup mechanism is
JNDI, and in Avalon the lookup mechanism is a ServiceManager.

EJBs and Servlets use descriptor files for the metadata.  As of right now,
that is the same approach that Avalon is using.  The container uses the
meta information to determine how many instances of a particular component
it should create, how to match those components to requests from the
ServiceManager, and what type of access control the container must enforce
on the components.

All of these are practical uses.  The Meta Information is the way that
the component communicates its needs to the container--while allowing the
container to be the boss.  The container can use the meta information to
ensure a working system at startup.

> 
> I suspect most of these "meta-" systems overlap, at least in terms of 
> functionality.
> 
> Again, I think it's important to define a concrete scope for [clazz]. It 
> seems to me it means different things to different people.
> 

All I want is delegates plus attributes.


-- 

"They that give up essential liberty to obtain a little temporary safety
  deserve neither liberty nor safety."
                 - Benjamin Franklin


--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@jakarta.apache.org>


Mime
View raw message