org.eclipse.jpt.jaxb.core
Interface JaxbFactory


public interface JaxbFactory

Use a JAXB factory to build any core (e.g. JaxbProject) model object or any Java (e.g. JavaEntity), ORM (e.g. EntityMappings), or persistence (e.g. PersistenceUnit) context model objects.

Assumes a base JAXB project context structure corresponding to the JAXB spec:

     RootContext
      |- persistence.xml
          |- persistence unit(s)
               |- mapping file(s)  (e.g. orm.xml)
               |   |- persistent type mapping(s)  (e.g. Entity)
               |       |- persistent attribute mapping(s)  (e.g. Basic)
               |- persistent type mapping(s)
 
... and associated objects.

Provisional API: This interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

Since:
3.0
Version:
3.0
See Also:
org.eclipse.jpt.jaxb.core.internal.jaxb21.GenericJaxb_2_1_Factory

Method Summary
 JaxbContextRoot buildContextRoot(JaxbProject jaxbProject)
          Build a (/an updated) root context node to be associated with the given JAXB project.
 JaxbElementFactoryMethod buildJavaElementFactoryMethod(JaxbRegistry parent, JavaResourceMethod resourceMethod)
           
 JaxbEnumConstant buildJavaEnumConstant(JaxbPersistentEnum parent, JavaResourceEnumConstant resourceEnumConstant)
           
 JaxbAttributeMapping buildJavaNullAttributeMapping(JaxbPersistentAttribute parent)
           
 JaxbPackageInfo buildJavaPackageInfo(JaxbPackage parent, JavaResourcePackage resourcePackage)
           
 JaxbPersistentClass buildJavaPersistentClass(JaxbContextRoot parent, JavaResourceType resourceType)
           
 JaxbPersistentEnum buildJavaPersistentEnum(JaxbContextRoot parent, JavaResourceEnum resourceEnum)
           
 JaxbPersistentField buildJavaPersistentField(JaxbPersistentClass parent, JavaResourceField resourceField)
           
 JaxbPersistentProperty buildJavaPersistentProperty(JaxbPersistentClass parent, JavaResourceMethod resourceGetter, JavaResourceMethod resourceSetter)
           
 JaxbTransientClass buildJavaTransientClass(JaxbContextRoot parent, JavaResourceType resourceType)
           
 XmlAnyAttributeMapping buildJavaXmlAnyAttributeMapping(JaxbPersistentAttribute parent)
           
 XmlAnyElementMapping buildJavaXmlAnyElementMapping(JaxbPersistentAttribute parent)
           
 XmlAttributeMapping buildJavaXmlAttributeMapping(JaxbPersistentAttribute parent)
           
 XmlElementMapping buildJavaXmlElementMapping(JaxbPersistentAttribute parent)
           
 XmlNs buildJavaXmlNs(XmlSchema parent, XmlNsAnnotation xmlNsAnnotation)
           
 XmlRootElement buildJavaXmlRootElement(JaxbPersistentType parent, XmlRootElementAnnotation xmlRootElementAnnotation)
           
 XmlSchema buildJavaXmlSchema(JaxbPackageInfo parent)
           
 JaxbAttributeMapping buildJavaXmlTransientMapping(JaxbPersistentAttribute parent)
           
 XmlValueMapping buildJavaXmlValueMapping(JaxbPersistentAttribute parent)
           
 JaxbFile buildJaxbFile(JaxbProject jaxbProject, org.eclipse.core.resources.IFile file, org.eclipse.core.runtime.content.IContentType contentType, JptResourceModel resourceModel)
          Construct a JAXB file for the specified JAXB project, file, content type, and resource model.
 JaxbProject buildJaxbProject(JaxbProject.Config config)
          Construct a JaxbProject for the specified config, to be added to the specified JAXB project.
 JaxbPackage buildPackage(JaxbContextRoot parent, java.lang.String packageName)
           
 JaxbRegistry buildRegistry(JaxbContextRoot parent, JavaResourceType resourceType)
           
 

Method Detail

buildJaxbProject

JaxbProject buildJaxbProject(JaxbProject.Config config)
Construct a JaxbProject for the specified config, to be added to the specified JAXB project. Return null if unable to create the JAXB file (e.g. the content type is unrecognized).


buildJaxbFile

JaxbFile buildJaxbFile(JaxbProject jaxbProject,
                       org.eclipse.core.resources.IFile file,
                       org.eclipse.core.runtime.content.IContentType contentType,
                       JptResourceModel resourceModel)
Construct a JAXB file for the specified JAXB project, file, content type, and resource model.


buildContextRoot

JaxbContextRoot buildContextRoot(JaxbProject jaxbProject)
Build a (/an updated) root context node to be associated with the given JAXB project. The root context node will be built once, but updated many times.

See Also:
JaxbProject.update(org.eclipse.core.runtime.IProgressMonitor)

buildPackage

JaxbPackage buildPackage(JaxbContextRoot parent,
                         java.lang.String packageName)

buildJavaPackageInfo

JaxbPackageInfo buildJavaPackageInfo(JaxbPackage parent,
                                     JavaResourcePackage resourcePackage)

buildRegistry

JaxbRegistry buildRegistry(JaxbContextRoot parent,
                           JavaResourceType resourceType)

buildJavaTransientClass

JaxbTransientClass buildJavaTransientClass(JaxbContextRoot parent,
                                           JavaResourceType resourceType)

buildJavaPersistentClass

JaxbPersistentClass buildJavaPersistentClass(JaxbContextRoot parent,
                                             JavaResourceType resourceType)

buildJavaPersistentEnum

JaxbPersistentEnum buildJavaPersistentEnum(JaxbContextRoot parent,
                                           JavaResourceEnum resourceEnum)

buildJavaXmlSchema

XmlSchema buildJavaXmlSchema(JaxbPackageInfo parent)

buildJavaXmlNs

XmlNs buildJavaXmlNs(XmlSchema parent,
                     XmlNsAnnotation xmlNsAnnotation)

buildJavaXmlRootElement

XmlRootElement buildJavaXmlRootElement(JaxbPersistentType parent,
                                       XmlRootElementAnnotation xmlRootElementAnnotation)

buildJavaEnumConstant

JaxbEnumConstant buildJavaEnumConstant(JaxbPersistentEnum parent,
                                       JavaResourceEnumConstant resourceEnumConstant)

buildJavaElementFactoryMethod

JaxbElementFactoryMethod buildJavaElementFactoryMethod(JaxbRegistry parent,
                                                       JavaResourceMethod resourceMethod)

buildJavaPersistentField

JaxbPersistentField buildJavaPersistentField(JaxbPersistentClass parent,
                                             JavaResourceField resourceField)

buildJavaPersistentProperty

JaxbPersistentProperty buildJavaPersistentProperty(JaxbPersistentClass parent,
                                                   JavaResourceMethod resourceGetter,
                                                   JavaResourceMethod resourceSetter)

buildJavaNullAttributeMapping

JaxbAttributeMapping buildJavaNullAttributeMapping(JaxbPersistentAttribute parent)

buildJavaXmlAnyAttributeMapping

XmlAnyAttributeMapping buildJavaXmlAnyAttributeMapping(JaxbPersistentAttribute parent)

buildJavaXmlAnyElementMapping

XmlAnyElementMapping buildJavaXmlAnyElementMapping(JaxbPersistentAttribute parent)

buildJavaXmlAttributeMapping

XmlAttributeMapping buildJavaXmlAttributeMapping(JaxbPersistentAttribute parent)

buildJavaXmlElementMapping

XmlElementMapping buildJavaXmlElementMapping(JaxbPersistentAttribute parent)

buildJavaXmlTransientMapping

JaxbAttributeMapping buildJavaXmlTransientMapping(JaxbPersistentAttribute parent)

buildJavaXmlValueMapping

XmlValueMapping buildJavaXmlValueMapping(JaxbPersistentAttribute parent)