You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hivemind.apache.org by hi...@jakarta.apache.org on 2004/04/29 17:55:01 UTC

[Jakarta HiveMind Wiki] New: HiveMindElementImprovementProposal

   Date: 2004-04-29T08:55:01
   Editor: DanielFeist <df...@technisys.net>
   Wiki: Jakarta HiveMind Wiki
   Page: HiveMindElementImprovementProposal
   URL: http://wiki.apache.org/jakarta-hivemind/HiveMindElementImprovementProposal

   no comment

New Page:

= Problem Statement =

(Apr 29 2004, 1.0-alpha-4 just released )

!HiveMind gives the developer three options to process configuration point contributions and convert them into a list of objects.

  1. Use the {{{<conversion>}}} element in the {{{<configuration-point>}}} definition.
  2. Use {{{<rules>}}} in the {{{>configuration-point>}}} definition.
  3. Not use {{{<conversion>}}} or {{{<rules>}}} elements in the {{{<configuration-point>}}} definition and obtain raw elements for manual processing of contributions outside of !HiveMind.


'''This proposal applies to the third of above three options.'''  When choosing to use the third option a list ''org.apache.hivemind.Element'' 's are returned by the HiveMindRegistry when the conbributions of a {{{configutation-point}}} are obtained.  These xml elements are then used directly or are parsed externally to !HiveMind.  For those who have looked at the architecture of the eclipse platform, this is the only option available as {{{<conversion>}}} and {{{<rules>}}} elements do not exist in eclipse's plugin descriptors.


When a developer chooses this option they obviously have to deal with ''org.apache.hivemind.Element'' objects as !HiveMind uses its own ''Element'' and ''Attribute'' objects and so no other xml processing library understands them.  At the moment the ''org.apache.hivemind.Element'' object has no compatability methods enabling conversion to a ''org.w3c.Element'' or to string representation of the XML element.  This means that working with ''org.apache.hivemind.Element'' objects requires an additional utility method to convert the Element to a string to enable it to be used with other xml libraries that the developer may be using.


= Solution =

Inlcude within the '''org.apache.hivemind.Element''' object a minimal number of utility methods that allow the developer who chooses to recieve raw elements instead of using one of !Hivemind's {{{<conversion>}}} or {{{<rules>}}} xml->obeject methods can do so more easily.

I would suggest minimaly a {{{String asXML()}}} method with returns a ''String'' representation of the Element.  Other methods could be included obvoulsy although care should be taken to respect the ["YAGNI"] principal.


= Comments =

Please add comments, ideas and suggestions..


---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-cvs-help@jakarta.apache.org