[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Do we need link-catalogs for schemas?

  • From: "Bill la Forge" <b.laforge@j...>
  • To: "Peter Murray-Rust" <peter@u...>, <xml-dev@i...>
  • Date: Sun, 11 Oct 1998 18:14:56 -0400

java aggregation
From: Peter Murray-Rust <peter@u...>
>It stands for Generic Identifier and for practical purposes is (I think)
>synonymous with Element Type Name in XML, i.e. <FOO> has a GI of "FOO".


That's what I first thought. But then I began to wonder...

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

Bill



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!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.