Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[wtp-dev] Questions on component.xml


There's probably already been discussion and answers provided for some questions that immediately came to my mind while starting (and just staring, mind you :) to define our component.xml files ....
but figured if I didn't know the answer, perhaps it might be worth asking here so the answers would be repeated for everyone.

One part of our API that gets focus in our component.xml files are classes or interfaces we implement that we want docs, junits, and java doc. That's clear enough.

But what about extension points? That's a critical part of a specified API ... how are they represented in component.xml files?

A more minor case is "ids" ... there's some strings defined via plugins or extensions that we expect others to use as API (editor IDs, content menuIDs, are obvious cases). While these can sometimes be redundantly specified in JavaCode to be used as constants (eg. we've done that for our contentTypeIds) there's no hard and fast rule that it has to be, or that it is even always desirable. Its there a suggested way to capture these IDs which are not defined in Java Code?

Lastly, the hardest, what about our implementations of other's interfaces? These may be some critical areas to have JUnit test coverage for, but as far as I can tell, that's a whole other problem not related to component.xml and our measurements? But in some cases we may need some amount of doc for? I see this strongly in org.w3c.dom API's ... since we have our own DOM implementation ... we don't expose our implementation as API per se, but we do expose it through the org.w3c.dom interface ... that is, obviously, we expect clients to write code to the org.w3c.dom interface which uses our implementation (our instance being obtained from one API, naturally). If this one is carried to extreme, I think we'd find thousands of cases where we implement base eclipse APIs (either interfaces, or subclassing such popular classes as 'Plugin', 'ITextEditor', etc). Are any of these "implementations of others APIs" part of the component.xml files? [I don't think so, but its a pretty fine line, sometimes, or gives a distorted picture of "coverage" if not].

Thanks for any advice.

Back to the top