You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Victor Volle <vi...@gmxpro.net> on 2002/11/09 18:58:12 UTC

[clazz] Some general thoughts on the design

Dmitri,

your design reflects a decision I am currently having
to make. So I would like to discuss the
two possibilities and think about the possible
suitability to [clazz].

We have some interfaces but no (abstract) default
implementation. That means: for each 
ClazzLoader XXX we have to provide our own 
implementation of XXXClazz, XXXClazzProperty etc.
Even if only the "building", "filling" of the 
Clazz is different. All XXXClazz implementations
will probably have a list of (declared) Operations, a List
of (declared) Fields, some methods to find all fields
(as opposed to the declared ones).
So I am thinking that we could factor out
a common default implementation for Clazz, ClazzProperty.
And let the ClazzLoaders do the work.
When you look at your implementation of ReflectedProperty,
there is nearly nothing reflection specific. 

I fear that I might be missing something. 
What do you think?

Associated with this line of thought is the handling
of "Attributes" (MetaData). MetaData could be 
factored out into some abstract super class 
MetaModelElement.

Victor


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [clazz] Some general thoughts on the design

Posted by Dmitri Plotnikov <dm...@plotnix.com>.
Victor,

----- Original Message -----
From: "Victor Volle" <vi...@gmxpro.net>
To: "Jakarta Commons Developers List" <co...@jakarta.apache.org>
Sent: Saturday, November 09, 2002 12:58 PM
Subject: [clazz] Some general thoughts on the design


> Dmitri,
>
> your design reflects a decision I am currently having
> to make. So I would like to discuss the
> two possibilities and think about the possible
> suitability to [clazz].
>
> We have some interfaces but no (abstract) default
> implementation. That means: for each
> ClazzLoader XXX we have to provide our own
> implementation of XXXClazz, XXXClazzProperty etc.
> Even if only the "building", "filling" of the
> Clazz is different. All XXXClazz implementations
> will probably have a list of (declared) Operations, a List
> of (declared) Fields, some methods to find all fields
> (as opposed to the declared ones).
> So I am thinking that we could factor out
> a common default implementation for Clazz, ClazzProperty.
> And let the ClazzLoaders do the work.
> When you look at your implementation of ReflectedProperty,
> there is nearly nothing reflection specific.
>
> I fear that I might be missing something.
> What do you think?
I agree 100%.  It's just I wanted to have at least two implementations of
these interfaces before we decide what belongs in those common support
classes.

> Associated with this line of thought is the handling
> of "Attributes" (MetaData). MetaData could be
> factored out into some abstract super class
> MetaModelElement.
Absolutely.

>
> Victor

Thank you,

- Dmitri


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>