You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Stephen Colebourne <sc...@btopenworld.com> on 2002/10/29 01:52:45 UTC

[clazz] Naming

Naming is always a tricky issue, especially when we get to a fundamental
level such as this.

Meta class names
------------------
Java:
Class, Field, Method

Names proposed for [clazz]:
MetaBean, MetaProperty, MetaOperation*
MetaClazz, MetaProperty, MetaOperation
Clazz, Attribute, Operation
AClass, AField, AMethod
Class, Field, Method

Instance class names
---------------------
Java:
Object, ., .
bean, property, method.

Names proposed for [clazz]:
Bean, Property, Operation*

MetaData name
----------------
Attribute*
MetaData


All of the[clazz] basic classes should be interfaces.
The meta class names should relate to the instance class names.

I still favour the names marked with a * as being a consistent set
independent of reflection/Java, but still well known names.

Stephen


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


Re: [clazz] Naming

Posted by Victor Volle <vi...@gmxpro.net>.
> Naming is always a tricky issue, especially when we get to a fundamental
> level such as this.

I think MetaOperation and Operation are without problems.


> Meta class names
> ------------------
> Java:
> Class, Field, Method
> 
> Names proposed for [clazz]:
> MetaBean, MetaProperty, MetaOperation*
> MetaClazz, MetaProperty, MetaOperation
> Clazz, Attribute, Operation
> AClass, AField, AMethod
> Class, Field, Method

MetaClass/-zz, MetaField, MetaOperation
MetaClass/-zz, MetaAttribute, MetaOperation

> Instance class names
> ---------------------
> Java:
> Object, ., .
> bean, property, method.
> 
> Names proposed for [clazz]:
> Bean, Property, Operation*

Clazz, Field, Operation

Do we need Clazz at all?
What is the difference between Clazz (Bean) and MetaClass?
What is Clazz (Bean) responsible for? 

> MetaData name
> ----------------
> Attribute*
> MetaData

Property
MetaAttribute
MetaInfo

But I would prefer Attribute, too.

Summary:
============================
MetaClass, MetaField, MetaOperation
???           Field,        Operation
Attribute
============================

Victor


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


Re: [clazz] Naming

Posted by Henri Yandell <ba...@generationjava.com>.
Throwing things out:

ClassType, AttributeType, MethodType
Class, Attribute, Method.

Except using Class is bad. Damn.

InstanceType. Instance.

Hen

On Tue, 29 Oct 2002, Victor Volle wrote:

> > Attribute causes me problems as a name. My thoughts:
> > Property is something owned by something else.
> > Attribute is an external description of something.
> >
> > How about separating the naming:
> >  AClass, AField, AMethod (meta level)
> >  Instance, Property, Operation (delegate level)
> > Is that less or more confusing?
> >
> > Stephen
>
> I do not like 'A' because I always think of "a class" and
> I sometimes call variables in functions "aFoo", so if we settle
> on AClass, I would prefer XClass or ZClass (as reminiscence to
> clazz).
>
> Victor
>
>
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
>
>


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


Re: [clazz] Naming

Posted by Victor Volle <vi...@gmxpro.net>.
> Attribute causes me problems as a name. My thoughts:
> Property is something owned by something else.
> Attribute is an external description of something.
> 
> How about separating the naming:
>  AClass, AField, AMethod (meta level)
>  Instance, Property, Operation (delegate level)
> Is that less or more confusing?
> 
> Stephen

I do not like 'A' because I always think of "a class" and
I sometimes call variables in functions "aFoo", so if we settle
on AClass, I would prefer XClass or ZClass (as reminiscence to 
clazz). 

Victor


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


Re: [clazz] Naming

Posted by Stephen Colebourne <sc...@btopenworld.com>.
From: "Dmitri Plotnikov" <dm...@apache.org>
> IMO, we should take some widely used metamodel and apply the naming
> consistently.
>
> Java reflection: Class, Field, Method
> EJB: Entity, Field, Method
> UML: Class (clazz), Feature, Attribute, Operation, Association (for
> relationships)
> MOF/XMI: same
> JavaBeans: BeanDescription, FeatureDescriptor, PropertyDescriptor
>
> I'll say, if it is not JavaBeans, it should be UML.
>
> Thus, my preferrence would be: Clazz, Attribute, Operation

But this is only 3 names. We need 6 names in total for the system - 3 for
the meta part, 3 for the wrapper/instance part. This is why I used Meta as a
prefix for all the 3 meta ones, so as to distinuish them as a group.

I am not wedded to the Bean name (as it does have a lot of confusion). Clazz
already implies a meta concept as you point out. That leads to
 Clazz, MetaProperty, MetaOperation
 Instance, Property, Operation
Still doesn't seem right. Maybe because in a lot of cases, Clazz/MetaClazz
will be a wrapper for a real Class object.

Attribute causes me problems as a name. My thoughts:
Property is something owned by something else.
Attribute is an external description of something.

How about separating the naming:
 AClass, AField, AMethod (meta level)
 Instance, Property, Operation (delegate level)
Is that less or more confusing?

Stephen

> - Dmitri
>
> ----- Original Message -----
> From: "Stephen Colebourne" <sc...@btopenworld.com>
> To: "Jakarta Commons Developers List" <co...@jakarta.apache.org>
> Sent: Monday, October 28, 2002 7:52 PM
> Subject: [clazz] Naming
>
>
> > Naming is always a tricky issue, especially when we get to a fundamental
> > level such as this.
> >
> > Meta class names
> > ------------------
> > Java:
> > Class, Field, Method
> >
> > Names proposed for [clazz]:
> > MetaBean, MetaProperty, MetaOperation*
> > MetaClazz, MetaProperty, MetaOperation
> > Clazz, Attribute, Operation
> > AClass, AField, AMethod
> > Class, Field, Method
> >
> > Instance class names
> > ---------------------
> > Java:
> > Object, ., .
> > bean, property, method.
> >
> > Names proposed for [clazz]:
> > Bean, Property, Operation*
> >
> > MetaData name
> > ----------------
> > Attribute*
> > MetaData
> >
> >
> > All of the[clazz] basic classes should be interfaces.
> > The meta class names should relate to the instance class names.
> >
> > I still favour the names marked with a * as being a consistent set
> > independent of reflection/Java, but still well known names.
> >
> > Stephen
> >
> >
> > --
> > To unsubscribe, e-mail:
> <ma...@jakarta.apache.org>
> > For additional commands, e-mail:
> <ma...@jakarta.apache.org>
> >
> >
> >
>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
>


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


Re: [clazz] Naming

Posted by Dmitri Plotnikov <dm...@apache.org>.
IMO, we should take some widely used metamodel and apply the naming
consistently.

Java reflection: Class, Field, Method
EJB: Entity, Field, Method
UML: Class (clazz), Feature, Attribute, Operation, Association (for
relationships)
MOF/XMI: same
JavaBeans: BeanDescription, FeatureDescriptor, PropertyDescriptor

I'll say, if it is not JavaBeans, it should be UML.

Thus, my preferrence would be: Clazz, Attribute, Operation

- Dmitri

----- Original Message -----
From: "Stephen Colebourne" <sc...@btopenworld.com>
To: "Jakarta Commons Developers List" <co...@jakarta.apache.org>
Sent: Monday, October 28, 2002 7:52 PM
Subject: [clazz] Naming


> Naming is always a tricky issue, especially when we get to a fundamental
> level such as this.
>
> Meta class names
> ------------------
> Java:
> Class, Field, Method
>
> Names proposed for [clazz]:
> MetaBean, MetaProperty, MetaOperation*
> MetaClazz, MetaProperty, MetaOperation
> Clazz, Attribute, Operation
> AClass, AField, AMethod
> Class, Field, Method
>
> Instance class names
> ---------------------
> Java:
> Object, ., .
> bean, property, method.
>
> Names proposed for [clazz]:
> Bean, Property, Operation*
>
> MetaData name
> ----------------
> Attribute*
> MetaData
>
>
> All of the[clazz] basic classes should be interfaces.
> The meta class names should relate to the instance class names.
>
> I still favour the names marked with a * as being a consistent set
> independent of reflection/Java, but still well known names.
>
> Stephen
>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
>
>
>


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


RE: [clazz] Naming

Posted by Tim Anderson <ti...@intalio.com>.
True. I was suggesting Meta more as a prefix to avoid
clashes with java.lang.*, rather than for its semantics.

Unfortunately, the english language doesn't have too many
terms which can be used. 'Schema' and 'Model' are also
possible alternatives for 'Class', although Schema is overused,
and Model perhaps too vague.

Tim

> -----Original Message-----
> From: Dmitri Plotnikov [mailto:dmitri@apache.org]
> Sent: Tuesday, October 29, 2002 12:32 PM
> To: Jakarta Commons Developers List
> Subject: Re: [clazz] Naming
>
>
> I would like to suggest that if we use the prefix "meta", we use it in
> accordance with the definition, which is that meta-foo is a description of
> foo and foo is an instance of meta-foo.
>
> For example, MetaObject would be Class. An example of a MetaClass would be
> the class java.lang.Class itself (not an instance thereof).
>
> - Dmitri
>
> ----- Original Message -----
> From: "Tim Anderson" <ti...@intalio.com>
> To: "Jakarta Commons Developers List" <co...@jakarta.apache.org>
> Sent: Monday, October 28, 2002 8:29 PM
> Subject: RE: [clazz] Naming
>
>
> > Some more alternatives:
> >
> > Meta class names: MetaClass, MetaField, MetaMethod.
> > Instance class names: MetaObject, Field, Method
> >
> > Not attached to any of the above, but Clazz really grates with me :)
> >
> > my 2 bits,
> >
> > Tim
> >
> >
> > > From: Stephen Colebourne [mailto:scolebourne@btopenworld.com]
> > >
> > > Naming is always a tricky issue, especially when we get to a
> fundamental
> > > level such as this.
> > >
> > > Meta class names
> > > ------------------
> > > Java:
> > > Class, Field, Method
> > >
> > > Names proposed for [clazz]:
> > > MetaBean, MetaProperty, MetaOperation*
> > > MetaClazz, MetaProperty, MetaOperation
> > > Clazz, Attribute, Operation
> > > AClass, AField, AMethod
> > > Class, Field, Method
> > >
> > > Instance class names
> > > ---------------------
> > > Java:
> > > Object, ., .
> > > bean, property, method.
> > >
> > > Names proposed for [clazz]:
> > > Bean, Property, Operation*
> > >
> > > MetaData name
> > > ----------------
> > > Attribute*
> > > MetaData
> > >
> > >
> > > All of the[clazz] basic classes should be interfaces.
> > > The meta class names should relate to the instance class names.
> > >
> > > I still favour the names marked with a * as being a consistent set
> > > independent of reflection/Java, but still well known names.
> > >
> > > Stephen
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:
> > > <ma...@jakarta.apache.org>
> > > For additional commands, e-mail:
> > > <ma...@jakarta.apache.org>
> > >
> >
> >
> > --
> > To unsubscribe, e-mail:
> <ma...@jakarta.apache.org>
> > For additional commands, e-mail:
> <ma...@jakarta.apache.org>
> >
> >
> >
>
>
> --
> To unsubscribe, e-mail:
> <ma...@jakarta.apache.org>
> For additional commands, e-mail:
> <ma...@jakarta.apache.org>
>



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


Re: [clazz] Naming

Posted by Dmitri Plotnikov <dm...@apache.org>.
I would like to suggest that if we use the prefix "meta", we use it in
accordance with the definition, which is that meta-foo is a description of
foo and foo is an instance of meta-foo.

For example, MetaObject would be Class. An example of a MetaClass would be
the class java.lang.Class itself (not an instance thereof).

- Dmitri

----- Original Message -----
From: "Tim Anderson" <ti...@intalio.com>
To: "Jakarta Commons Developers List" <co...@jakarta.apache.org>
Sent: Monday, October 28, 2002 8:29 PM
Subject: RE: [clazz] Naming


> Some more alternatives:
>
> Meta class names: MetaClass, MetaField, MetaMethod.
> Instance class names: MetaObject, Field, Method
>
> Not attached to any of the above, but Clazz really grates with me :)
>
> my 2 bits,
>
> Tim
>
>
> > From: Stephen Colebourne [mailto:scolebourne@btopenworld.com]
> >
> > Naming is always a tricky issue, especially when we get to a fundamental
> > level such as this.
> >
> > Meta class names
> > ------------------
> > Java:
> > Class, Field, Method
> >
> > Names proposed for [clazz]:
> > MetaBean, MetaProperty, MetaOperation*
> > MetaClazz, MetaProperty, MetaOperation
> > Clazz, Attribute, Operation
> > AClass, AField, AMethod
> > Class, Field, Method
> >
> > Instance class names
> > ---------------------
> > Java:
> > Object, ., .
> > bean, property, method.
> >
> > Names proposed for [clazz]:
> > Bean, Property, Operation*
> >
> > MetaData name
> > ----------------
> > Attribute*
> > MetaData
> >
> >
> > All of the[clazz] basic classes should be interfaces.
> > The meta class names should relate to the instance class names.
> >
> > I still favour the names marked with a * as being a consistent set
> > independent of reflection/Java, but still well known names.
> >
> > Stephen
> >
> >
> > --
> > To unsubscribe, e-mail:
> > <ma...@jakarta.apache.org>
> > For additional commands, e-mail:
> > <ma...@jakarta.apache.org>
> >
>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>
>
>
>


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


RE: [clazz] Naming

Posted by Tim Anderson <ti...@intalio.com>.
Some more alternatives:

Meta class names: MetaClass, MetaField, MetaMethod.
Instance class names: MetaObject, Field, Method

Not attached to any of the above, but Clazz really grates with me :)

my 2 bits,

Tim


> From: Stephen Colebourne [mailto:scolebourne@btopenworld.com]
> 
> Naming is always a tricky issue, especially when we get to a fundamental
> level such as this.
> 
> Meta class names
> ------------------
> Java:
> Class, Field, Method
> 
> Names proposed for [clazz]:
> MetaBean, MetaProperty, MetaOperation*
> MetaClazz, MetaProperty, MetaOperation
> Clazz, Attribute, Operation
> AClass, AField, AMethod
> Class, Field, Method
> 
> Instance class names
> ---------------------
> Java:
> Object, ., .
> bean, property, method.
> 
> Names proposed for [clazz]:
> Bean, Property, Operation*
> 
> MetaData name
> ----------------
> Attribute*
> MetaData
> 
> 
> All of the[clazz] basic classes should be interfaces.
> The meta class names should relate to the instance class names.
> 
> I still favour the names marked with a * as being a consistent set
> independent of reflection/Java, but still well known names.
> 
> Stephen
> 
> 
> --
> To unsubscribe, e-mail:   
> <ma...@jakarta.apache.org>
> For additional commands, e-mail: 
> <ma...@jakarta.apache.org>
> 


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


Re: [clazz] Naming

Posted by Henri Yandell <ba...@generationjava.com>.
[I'm only vaguely keeping up with the clazz world, so bear with me if I'm
saying crap here]

On Tue, 29 Oct 2002, Stephen Colebourne wrote:

> Naming is always a tricky issue, especially when we get to a fundamental
> level such as this.
>
> Meta class names
> ------------------
> Java:
> Class, Field, Method
>
> Names proposed for [clazz]:
> Clazz, Attribute, Operation

Type, Attribute, Operation.

Class is actually the wrong word here anyway as I assume Interfaces will
be usable too. So 'Type' is really the superclass of Class and Interface.

So maybe Class, Field and Method would be implementations of Type,
Attribute and Operation :) Yeah.. I'm semantically juggling.

An argument against is that Java uses the word Class in most places [some
places it uses Type, ie Integer.TYPE] even when reflecting on interfaces.

> Instance class names
> ---------------------
> Java:
> Object, ., .
> bean, property, method.
>
> Names proposed for [clazz]:
> Bean, Property, Operation*

Bean implies that only Beans are handled. I would fully expect the project
to help me with things other than Beans, such as Listeners or just plain
generic methods [ok, this might just be MethodUtils].
Property also implies Beans. But on reflection I think you meant that. I
don't think beans call them methods, I think they might actually describe
them as operations. I know JMX talks about operations.

> MetaData name
> ----------------
> Attribute*
> MetaData

NFC.

Hen


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