On 31 Mar 2004, at 13:42, Leo Sutic wrote:
From: Pier Fumagalli [mailto:[EMAIL PROTECTED]

Some quick observations:

 1. @author <a href="http://www.vnunet.com/";>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. Wire.java
/**
* <p>Check wether the wire between this [EMAIL PROTECTED] Wirings} instance and the
* original component is still active.</p>
*
* <p>When this method returns <b>true</b> all methods called 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. Configuration.java

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. Identifier.java

    *
<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="http://www.w3.org/1999/xhtml"/ >

Pier

Attachment: smime.p7s
Description: S/MIME cryptographic signature



Reply via email to