geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Proposal for xml-reference-builder
Date Fri, 29 Apr 2005 17:36:43 GMT
Currently we have an xml-attribute facility that lets you register a 
builder for an xml namespace, so xml-attributes in that namespace will 
be handed to the builder to return an actual object.  This is used to 
good effect in the TSS and CSS properties for some corba gbeans.

We could do something related for references.  You'd register a builder 
for an xml namespace, and xml-references would be handed to the 
builder.  In this case however the builder would add some gbeans to the 
deployment context and return a gbean name for the reference pattern.

What good is this?

There's been some demand for a new kind of reference collection, 
something like a list of explicitly named gbeans or list of object with 
gbean references and other data.  It's not exactly clear yet what the 
requirements are or how to implement this.  You can get the same effect 
by creating a linked list or chain of gbeans and giving the head to the 
gbean that wants the reference-list.  There are two kinds of problems 
with  this approach.  One is that it is a big nuisance to write out all 
the gbean definition xml and the other is that you get a lot of 
too-fine-grained gbeans in the kernel.  The xml-reference builder would 
eliminate the xml nuisance, but wouldn't do anything about cluttering 
up the kernel.  Basically with the linked-gbean approach the kernel has 
to manage about twice as many proxies as with some hypothetical 
reference-list.

So, this approach could be implemented today with no risk to existing 
functionality and would be more flexible than a likely reference-list, 
but would load the kernel more.

We might be able to extend this idea of xml-references to provide a way 
to "insert" specialized gbean-builders in any plan.

Any opinions?

thanks
david jencks
  


Mime
View raw message