Re: @avalon

Peter Donald <[email protected]> Sat, 22 Mar 2003 12:12:01 +1100
Newsgroups gmane.comp.jakarta.avalon.phoenix.devel,gmane.comp.jakarta.turbine.maven.devel
Message-ID <200303221212.01606.peter__46682.4571056806$1048294403@realityforge.org>
On Fri, 21 Mar 2003 01:23, Berin Loritsch wrote:
> Peter Donald wrote:
> > On Thu, 20 Mar 2003 07:57, Berin Loritsch wrote:
> >>It's a name for crying out loud, what's to mature?
> >
> > And Poolable is just a marker interface for crying out loud, whats to
> > mature?
>
> An interface presents more constraints than a tag name. The
> tag name presents a weak contract, the interface presents a stronger
> contract due to the language constructs and strong typing of Java.

I disagree on this. The tag is metadata and metadata should be as strong =
a=20
contract as code itself. The only difference between tags and codebased=20
metadata schems is that codebased metadata schemes require;
* that the .class be loaded to get at metadata
* that the supporting metadata classes be accessible to classloader

> We can alter the values of the names without affecting the runtime
> compatibility of the code.  You can't do that with interfaces.
>
> See where the difference is?

We have different opinions. I dont believe that "We can alter the values =
of=20
the names without affecting the runtime compatibility of the code." is tr=
ue.=20

Metadata interfaces are not work interfaces and thus never get exposed to=
=20
clients and thus they should have 0 effect on client code - only on the=20
client-container contract. This is exactly the same thing as metadata.

--=20
Cheers,

Peter Donald
---------------------------------------------------
"Wise men don't need advice. Fools don't take it."=20
                        -Benjamin Franklin=20
---------------------------------------------------=20