[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Aggregation api used by Coins
The aggrigation code used by Coins is available without commercial restriction: http://www.jxml.com/coins/download.html (Slect the services981011.zip file) In Coins, Aggregation builds on a cactus stack of services. CoinsDocument is an interface which extends org.w3c.dom.Document and com.jxml.services.ServiceItem, which allows it to participate in an Aggregate. Bill >From: Peter Murray-Rust <peter@u...> >>Question in return, what exactly is delegation and can you give an example. >>[It's been mentioned both in the context of Java classes and link-catalogs]. > > >I think it has to do with aggregation. A client of the aggregate requests a >delegate of the aggregate which supports a particular interface. At least, this >is what I've been assuming... > >This is the heart of COM and was to be a part of JavaBeans. It is also the >key to advanced Coin applications, as the CoinsDocument class is part of >an aggregate. > >It is important in Java, to get arround single-inheritence. I believe the problem >with the JavaSoft aggregation was that the client specified a Class object, >requiring that the tree of classes ('cause you must include interfaces) had >to be searched for each object in the aggregate collection of objects. > >Coins uses a filter object to select the appropriate delegate. This means that >(1) you can simply use the instanceof operator in the filter match method instead >of having to do the class tree search and (2) you can select based on any >criteria, allowing for selection based on role. > >(I need to make this package accessable again on the Coins web page. Its freeware.) > >Now since there is no standard api (for Java), its kinda hard to give a >simple example, code wise. But lets say that we have a Juggler with two listener >registration interfaces, one for start and one for stop. If the Juggler were a single class, >you would simply cast the Juggler object to the appropriate interface. Unfortunately, that >means that the two interfaces can not have any common methods. > >If the registration interfaces for start and stop were seperate objects, but were different >interface types, then you could ask the Juggler aggregate object for, say, an instance of >the startListenerRegistration object. > >If role were supported, then the objects supporting the ActionListenerRegistration >interface could be requested as the "start" object or the "stop" object. xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@i... the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|