Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Dali/Indigo/JAXB 2.x/ProjectContent
Functional Specification: JAXB Project Content
bug 238441 - private owned support for java
Document History
Date | Author | Version Description & Notes |
---|---|---|
10-5-2010 | Paul Fullbright | Draft |
Project overview
This feature is about determining the content of Dali JAXB projects.
Goals:
- Add JAXB annotated classes to project content
- Add JAXB annotated packages to project content
- Add linked classes to project content
- Add specified (in some manner) default annotated packages and classes to project content
- Add support for jaxb.index
- Add support for ObjectFactory classes
- Add external packages and classes to project content
Concepts
Unlike JPA, the context of a JAXB 'project' at runtime is determined dynamically. The user determines what is included when he creates the JAXBContext object. In addition, JAXB classes and packages do not have to be annotated - defaults abound! - so determining what classes are intended for JAXB use without having that information is tricky.
A user may pass in a list of packages, or a list of classes, or a combination. In addition to those packages and classes, any statically referenced classes are also brought in. (e.g. If Foo has a mapping to Bar, then Bar is also brought in, but if Foo is only extended by Bar, then it is not.)
When a package is passed in, a jaxb.index or ObjectFactory is used to determine the specific classes that are to be brought in. The jaxb.index is a return-separated list of classes. Any classes statically referenced by the ObjectFactory are brought in.