avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeremias Maerki <jeremias.mae...@outline.ch>
Subject Best Practices: Component/Block
Date Tue, 08 Jan 2002 08:45:13 GMT
After having learned to extend Work interfaces from the Component
interface, I've noticed that TimeScheduler does not yet follow this rule.
Instead the implementation implements Component/Block.
Therefore, I have looked around in Cornerstone for similar cases. Below
is a list of stuff I have found. I'm not sure that I have seen everything
and I haven't checked the apps directory, nor Excalibur in general. Some
interfaces have no ROLE constant. I have added a comment where I think a
ROLE constant should be added.

Not being a Avalon pro (yet), I may be wrong about this. But if I am, it
would be good if someone could update the components so all follow the
same conventions.

Since Block extends Component I'm wondering if the same rules (as for
Component) should apply to Block as well.

Cornerstone:
Classes/interfaces implementing Component:
org.apache.avalon.cornerstone.services.connection.ConnectionHandlerFactory
(no ROLE constant)
org.apache.avalon.cornerstone.services.connection.AbstractHandlerFactory

Classes/interfaces implementing Block instead of Component:
org.apache.avalon.cornerstone.services.services.ConnectionManager
org.apache.avalon.cornerstone.blocks.connection.DefaultConnectionManager

org.apache.avalon.cornerstone.services.packet.PacketManager
org.apache.avalon.cornerstone.blocks.packet.DefaultPacketManager

org.apache.avalon.cornerstone.services.scheduler.TimeScheduler
org.apache.avalon.cornerstone.blocks.scheduler.DefaultTimeScheduler

org.apache.avalon.cornerstone.services.security.RoleManager
org.apache.avalon.cornerstone.blocks.security.DefaultRoleManager

org.apache.avalon.cornerstone.services.soapification.SOAPification
org.apache.avalon.cornerstone.blocks.soapification.glue.Glue

org.apache.avalon.cornerstone.services.sockets.SocketManager
org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketManager

org.apache.avalon.cornerstone.services.threads.ThreadManager
org.apache.avalon.cornerstone.blocks.threads.DefaultThreadManager

org.apache.avalon.cornerstone.services.dom.DocumentBuilderFactory (no ROLE
constant)
org.apache.avalon.cornerstone.blocks.dom.DOMBuilderFactory

org.apache.avalon.cornerstone.services.sax.SAXParserFactory (no ROLE
constant)
org.apache.avalon.cornerstone.blocks.sax.SAXParserFactoryImpl

org.apache.avalon.cornerstone.services.sockets.ServerSocketFactory
org.apache.avalon.cornerstone.block.sockets.DefaultServerSocketFactory
org.apache.avalon.cornerstone.block.sockets.TLSServerSocketFactory

no ROLE constant:
org.apache.avalon.cornerstone.services.store.Repository (and friends)
org.apache.avalon.cornerstone.services.sockets.SocketFactory

Thanks a lot.

Cheers,
Jeremias Märki

mailto:jeremias.maerki@outline.ch

OUTLINE AG
Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern
Fon +41 (41) 317 2020 - Fax +41 (41) 317 2029
Internet http://www.outline.ch


--
To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>


Mime
View raw message