cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pier Fumagalli <>
Subject Re: [Kernel2.2] Comments
Date Wed, 31 Mar 2004 13:10:43 GMT
On 31 Mar 2004, at 13:42, Leo Sutic wrote:
>> From: Pier Fumagalli []
>>> Some quick observations:
>>>  1. @author <a href="">VNU Business
>>> Publications</a>
>>>     Is this OK with Apache and VNU?
>> Defintely OK with VNU (if someone visits our site because of a click 
>> on
>> the JavaDOC, and then come back, we got one more customer... If you
>> guys don't want to see it in there, you can remove it no
>> problems... It is in my default Java class template.
> I have absolutely no problems with this. Just wondered if it had been
> left in accidentally.

Fixed, I moved it to the CREDITS.txt

>>>  2.
>>>     /**
>>>      * <p>Check wether the wire between this {@link Wirings} 
>>> instance and the
>>>      * original component is still active.</p>
>>>      *
>>>      * <p>When this method returns <b>true</b> all methods
>>> on this
>>>      * instance will be forwarded to the original component instance 
>>> associated
>>>      * with this wire.</p>
>>>     You cannot guarantee that. The instance may be redeployed 
>>> between the call
>>>     to wired() and the next call.
>>>     No point in having a method whose return value means nothing.
>> This method will return true until the block instance will not be
>> destroyed or replaced by the Deployer, and when this method returns
>> false, whoever got this wire should release it and acquire a new one
>> (which will be got from the new block instance).
>> Rember? The idea is never to completely remove blocks until
>> forced to, so the Wire instance will still work even if wired() 
>> returns
>> false. The wire will only be deactivated by either a call to 
>> release() or
>> dispose() or by a forceful destruction by the deployer.
> I'd still like this to be transparent...
> Having a coding convention that requires you to do wired() checks
> before every call is bad in my opinion.
> What you can do is have an:
>     Wire.ensureWired()
> which will do:
>     if (!wired()) {
>         // renew proxy target
>     }
> Then the client can call the method before it starts processing. I.e.
> the client notifies the framework that "if you want to drop this
> instance, now is a good time".

AH! :-) Now I see what you ment in your previous emails! :-)

Yeah, I like it, non trivial to implement (as it might happen that in 
"ensureWired" you won't be able to access a new component instance in 
the original composer because of a some sort of exception), but what 
the heck...

>>>  5.
>>>     public class Configuration extends ArrayList
>>>     I'd use composition instead...
>> ??? extends AbstractList ???
> No, I meant:
>     public class Configuration {
>         private final List nodes = new ArrayList();
>         ...
>     }

Don't like it, you loose the whole "List" interface which is quite 
useful when working with stuff... I so darn hate both SAX and DOM which 
re-implement lists, sets and maps with their own interfaces. KISS (keep 
it simple and STANDARD) :-P

>>>  9.
>>>     *
>>> <p><code>protocol://location/path/major.minor(.revision)?</code></p>
>>>     Does this mean that all Blocks are automatically mapped into a 
>>> URL space?
>> All blocks have a unique identifier. And this list agreed that each
>> block identifier will assume the requirements specified in the
>> Identifier interface.
> Yes, I'm with you so far. But what does the URL really signify? What if
> I put the URL into my web browser? Will I download the block? Or?

What do you get when you point your browser to the namespace of HTML?

<html xmlns=""/ >


View raw message