org.eclipse.jpt.jpa.core
Interface JpaFactory

All Known Subinterfaces:
JpaFactory2_0

public interface JpaFactory

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

Assumes a base JPA project context structure corresponding to the JPA 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:
2.0
Version:
2.3
See Also:
GenericJpaFactory

Method Summary
 JavaAssociationOverride buildJavaAssociationOverride(JavaAssociationOverrideContainer parent, AssociationOverrideAnnotation annotation)
           
 JavaAssociationOverrideContainer buildJavaAssociationOverrideContainer(JavaJpaContextNode parent, JavaAssociationOverrideContainer.Owner owner)
           
 JavaAttributeOverride buildJavaAttributeOverride(JavaAttributeOverrideContainer parent, AttributeOverrideAnnotation annotation)
           
 JavaAttributeOverrideContainer buildJavaAttributeOverrideContainer(JavaJpaContextNode parent, JavaAttributeOverrideContainer.Owner owner)
           
 JavaBasicMapping buildJavaBasicMapping(JavaPersistentAttribute parent)
           
 JavaColumn buildJavaColumn(JavaJpaContextNode parent, JavaColumn.Owner owner)
           
 JavaDiscriminatorColumn buildJavaDiscriminatorColumn(JavaEntity parent, JavaDiscriminatorColumn.Owner owner)
           
 JavaEmbeddable buildJavaEmbeddable(JavaPersistentType parent, EmbeddableAnnotation embeddableAnnotation)
           
 JavaEmbeddedIdMapping buildJavaEmbeddedIdMapping(JavaPersistentAttribute parent)
           
 JavaEmbeddedMapping buildJavaEmbeddedMapping(JavaPersistentAttribute parent)
           
 JavaEntity buildJavaEntity(JavaPersistentType parent, EntityAnnotation entityAnnotation)
           
 JavaEnumeratedConverter buildJavaEnumeratedConverter(JavaAttributeMapping parent, EnumeratedAnnotation annotation)
           
 JavaGeneratedValue buildJavaGeneratedValue(JavaIdMapping parent, GeneratedValueAnnotation generatedValueAnnotation)
           
 JavaGeneratorContainer buildJavaGeneratorContainer(JavaJpaContextNode parent, JavaGeneratorContainer.Owner owner)
           
 JavaIdMapping buildJavaIdMapping(JavaPersistentAttribute parent)
           
 JavaJoinColumn buildJavaJoinColumn(JavaJpaContextNode parent, JavaJoinColumn.Owner owner, JoinColumnAnnotation joinColumnAnnotation)
           
 JavaJoinTable buildJavaJoinTable(JavaJoinTableRelationshipStrategy parent, Table.Owner owner)
           
 JavaLobConverter buildJavaLobConverter(JavaAttributeMapping parent, LobAnnotation annotation)
           
 JavaManyToManyMapping buildJavaManyToManyMapping(JavaPersistentAttribute parent)
           
 JavaManyToOneMapping buildJavaManyToOneMapping(JavaPersistentAttribute parent)
           
 JavaMappedSuperclass buildJavaMappedSuperclass(JavaPersistentType parent, MappedSuperclassAnnotation mappedSuperclassAnnotation)
           
 JavaNamedNativeQuery buildJavaNamedNativeQuery(JavaJpaContextNode parent, NamedNativeQueryAnnotation namedNativeQueryAnnotation)
           
 JavaNamedQuery buildJavaNamedQuery(JavaJpaContextNode parent, NamedQueryAnnotation namedQueryAnnotation)
           
 JavaAttributeMapping buildJavaNullAttributeMapping(JavaPersistentAttribute parent)
           
 JavaTypeMapping buildJavaNullTypeMapping(JavaPersistentType parent)
           
 JavaOneToManyMapping buildJavaOneToManyMapping(JavaPersistentAttribute parent)
           
 JavaOneToOneMapping buildJavaOneToOneMapping(JavaPersistentAttribute parent)
           
 JavaOrderable buildJavaOrderable(JavaAttributeMapping parent)
           
 JavaOverrideRelationship buildJavaOverrideRelationship(JavaAssociationOverride parent)
           
 JavaPersistentAttribute buildJavaPersistentAttribute(PersistentType parent, JavaResourcePersistentAttribute jrpa)
           
 JavaPersistentType buildJavaPersistentType(PersistentType.Owner owner, JavaResourcePersistentType jrpt)
           
 JavaPrimaryKeyJoinColumn buildJavaPrimaryKeyJoinColumn(JavaJpaContextNode parent, JavaBaseJoinColumn.Owner owner, PrimaryKeyJoinColumnAnnotation pkJoinColumnAnnotation)
           
 JavaQueryContainer buildJavaQueryContainer(JavaJpaContextNode parent, JavaQueryContainer.Owner owner)
           
 JavaQueryHint buildJavaQueryHint(JavaQuery parent, QueryHintAnnotation queryHintAnnotation)
           
 JavaSecondaryTable buildJavaSecondaryTable(JavaEntity parent, Table.Owner owner, SecondaryTableAnnotation tableAnnotation)
           
 JavaSequenceGenerator buildJavaSequenceGenerator(JavaJpaContextNode parent, SequenceGeneratorAnnotation sequenceGeneratorAnnotation)
           
 JavaTable buildJavaTable(JavaEntity parent, Table.Owner owner)
           
 JavaTableGenerator buildJavaTableGenerator(JavaJpaContextNode parent, TableGeneratorAnnotation tableGeneratorAnnotation)
           
 JavaTemporalConverter buildJavaTemporalConverter(JavaAttributeMapping parent, TemporalAnnotation annotation)
           
 JavaTransientMapping buildJavaTransientMapping(JavaPersistentAttribute parent)
           
 JavaUniqueConstraint buildJavaUniqueConstraint(JavaJpaContextNode parent, UniqueConstraint.Owner owner, UniqueConstraintAnnotation constraintAnnotation)
           
 JavaVersionMapping buildJavaVersionMapping(JavaPersistentAttribute parent)
           
 JavaVirtualAssociationOverride buildJavaVirtualAssociationOverride(JavaAssociationOverrideContainer parent, java.lang.String name)
           
 JavaVirtualAttributeOverride buildJavaVirtualAttributeOverride(JavaAttributeOverrideContainer parent, java.lang.String name)
           
 JavaVirtualColumn buildJavaVirtualColumn(JavaJpaContextNode parent, JavaVirtualColumn.Owner owner)
           
 JavaVirtualJoinColumn buildJavaVirtualJoinColumn(JavaJpaContextNode parent, ReadOnlyJoinColumn.Owner owner, JoinColumn joinColumn)
           
 JavaVirtualJoinTable buildJavaVirtualJoinTable(JavaVirtualJoinTableRelationshipStrategy parent, JoinTable overriddenTable)
           
 JavaVirtualOverrideRelationship buildJavaVirtualOverrideRelationship(JavaVirtualAssociationOverride parent)
           
 JavaVirtualUniqueConstraint buildJavaVirtualUniqueConstraint(JavaJpaContextNode parent, UniqueConstraint uniqueConstraint)
           
 JpaDataSource buildJpaDataSource(JpaProject jpaProject, java.lang.String connectionProfileName)
           
 JpaFile buildJpaFile(JpaProject jpaProject, org.eclipse.core.resources.IFile file, org.eclipse.core.runtime.content.IContentType contentType, JptResourceModel resourceModel)
          Construct a JPA file for the specified JPA project, file, content type, and resource model.
 JpaProject buildJpaProject(JpaProject.Config config)
          Construct a JpaProject for the specified config, to be added to the specified JPA project.
 MappingFile buildMappingFile(MappingFileRef parent, JpaXmlResource resource)
           
 PersistenceXml buildPersistenceXml(JpaRootContextNode parent, JpaXmlResource resource)
           
 JpaRootContextNode buildRootContextNode(JpaProject jpaProject)
          Build a (/an updated) root context node to be associated with the given JPA project.
 

Method Detail

buildJpaProject

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


buildJpaDataSource

JpaDataSource buildJpaDataSource(JpaProject jpaProject,
                                 java.lang.String connectionProfileName)

buildJpaFile

JpaFile buildJpaFile(JpaProject jpaProject,
                     org.eclipse.core.resources.IFile file,
                     org.eclipse.core.runtime.content.IContentType contentType,
                     JptResourceModel resourceModel)
Construct a JPA file for the specified JPA project, file, content type, and resource model.


buildRootContextNode

JpaRootContextNode buildRootContextNode(JpaProject jpaProject)
Build a (/an updated) root context node to be associated with the given JPA project. The root context node will be built once, but updated many times.

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

buildPersistenceXml

PersistenceXml buildPersistenceXml(JpaRootContextNode parent,
                                   JpaXmlResource resource)

buildMappingFile

MappingFile buildMappingFile(MappingFileRef parent,
                             JpaXmlResource resource)

buildJavaPersistentType

JavaPersistentType buildJavaPersistentType(PersistentType.Owner owner,
                                           JavaResourcePersistentType jrpt)

buildJavaEntity

JavaEntity buildJavaEntity(JavaPersistentType parent,
                           EntityAnnotation entityAnnotation)

buildJavaMappedSuperclass

JavaMappedSuperclass buildJavaMappedSuperclass(JavaPersistentType parent,
                                               MappedSuperclassAnnotation mappedSuperclassAnnotation)

buildJavaEmbeddable

JavaEmbeddable buildJavaEmbeddable(JavaPersistentType parent,
                                   EmbeddableAnnotation embeddableAnnotation)

buildJavaNullTypeMapping

JavaTypeMapping buildJavaNullTypeMapping(JavaPersistentType parent)

buildJavaPersistentAttribute

JavaPersistentAttribute buildJavaPersistentAttribute(PersistentType parent,
                                                     JavaResourcePersistentAttribute jrpa)

buildJavaBasicMapping

JavaBasicMapping buildJavaBasicMapping(JavaPersistentAttribute parent)

buildJavaEmbeddedIdMapping

JavaEmbeddedIdMapping buildJavaEmbeddedIdMapping(JavaPersistentAttribute parent)

buildJavaEmbeddedMapping

JavaEmbeddedMapping buildJavaEmbeddedMapping(JavaPersistentAttribute parent)

buildJavaIdMapping

JavaIdMapping buildJavaIdMapping(JavaPersistentAttribute parent)

buildJavaManyToManyMapping

JavaManyToManyMapping buildJavaManyToManyMapping(JavaPersistentAttribute parent)

buildJavaManyToOneMapping

JavaManyToOneMapping buildJavaManyToOneMapping(JavaPersistentAttribute parent)

buildJavaOneToManyMapping

JavaOneToManyMapping buildJavaOneToManyMapping(JavaPersistentAttribute parent)

buildJavaOneToOneMapping

JavaOneToOneMapping buildJavaOneToOneMapping(JavaPersistentAttribute parent)

buildJavaTransientMapping

JavaTransientMapping buildJavaTransientMapping(JavaPersistentAttribute parent)

buildJavaVersionMapping

JavaVersionMapping buildJavaVersionMapping(JavaPersistentAttribute parent)

buildJavaNullAttributeMapping

JavaAttributeMapping buildJavaNullAttributeMapping(JavaPersistentAttribute parent)

buildJavaGeneratorContainer

JavaGeneratorContainer buildJavaGeneratorContainer(JavaJpaContextNode parent,
                                                   JavaGeneratorContainer.Owner owner)

buildJavaTable

JavaTable buildJavaTable(JavaEntity parent,
                         Table.Owner owner)

buildJavaJoinTable

JavaJoinTable buildJavaJoinTable(JavaJoinTableRelationshipStrategy parent,
                                 Table.Owner owner)

buildJavaVirtualJoinTable

JavaVirtualJoinTable buildJavaVirtualJoinTable(JavaVirtualJoinTableRelationshipStrategy parent,
                                               JoinTable overriddenTable)

buildJavaColumn

JavaColumn buildJavaColumn(JavaJpaContextNode parent,
                           JavaColumn.Owner owner)

buildJavaVirtualColumn

JavaVirtualColumn buildJavaVirtualColumn(JavaJpaContextNode parent,
                                         JavaVirtualColumn.Owner owner)

buildJavaDiscriminatorColumn

JavaDiscriminatorColumn buildJavaDiscriminatorColumn(JavaEntity parent,
                                                     JavaDiscriminatorColumn.Owner owner)

buildJavaJoinColumn

JavaJoinColumn buildJavaJoinColumn(JavaJpaContextNode parent,
                                   JavaJoinColumn.Owner owner,
                                   JoinColumnAnnotation joinColumnAnnotation)

buildJavaVirtualJoinColumn

JavaVirtualJoinColumn buildJavaVirtualJoinColumn(JavaJpaContextNode parent,
                                                 ReadOnlyJoinColumn.Owner owner,
                                                 JoinColumn joinColumn)

buildJavaSecondaryTable

JavaSecondaryTable buildJavaSecondaryTable(JavaEntity parent,
                                           Table.Owner owner,
                                           SecondaryTableAnnotation tableAnnotation)

buildJavaSequenceGenerator

JavaSequenceGenerator buildJavaSequenceGenerator(JavaJpaContextNode parent,
                                                 SequenceGeneratorAnnotation sequenceGeneratorAnnotation)

buildJavaTableGenerator

JavaTableGenerator buildJavaTableGenerator(JavaJpaContextNode parent,
                                           TableGeneratorAnnotation tableGeneratorAnnotation)

buildJavaGeneratedValue

JavaGeneratedValue buildJavaGeneratedValue(JavaIdMapping parent,
                                           GeneratedValueAnnotation generatedValueAnnotation)

buildJavaPrimaryKeyJoinColumn

JavaPrimaryKeyJoinColumn buildJavaPrimaryKeyJoinColumn(JavaJpaContextNode parent,
                                                       JavaBaseJoinColumn.Owner owner,
                                                       PrimaryKeyJoinColumnAnnotation pkJoinColumnAnnotation)

buildJavaAttributeOverrideContainer

JavaAttributeOverrideContainer buildJavaAttributeOverrideContainer(JavaJpaContextNode parent,
                                                                   JavaAttributeOverrideContainer.Owner owner)

buildJavaAttributeOverride

JavaAttributeOverride buildJavaAttributeOverride(JavaAttributeOverrideContainer parent,
                                                 AttributeOverrideAnnotation annotation)

buildJavaVirtualAttributeOverride

JavaVirtualAttributeOverride buildJavaVirtualAttributeOverride(JavaAttributeOverrideContainer parent,
                                                               java.lang.String name)

buildJavaAssociationOverrideContainer

JavaAssociationOverrideContainer buildJavaAssociationOverrideContainer(JavaJpaContextNode parent,
                                                                       JavaAssociationOverrideContainer.Owner owner)

buildJavaAssociationOverride

JavaAssociationOverride buildJavaAssociationOverride(JavaAssociationOverrideContainer parent,
                                                     AssociationOverrideAnnotation annotation)

buildJavaVirtualAssociationOverride

JavaVirtualAssociationOverride buildJavaVirtualAssociationOverride(JavaAssociationOverrideContainer parent,
                                                                   java.lang.String name)

buildJavaOverrideRelationship

JavaOverrideRelationship buildJavaOverrideRelationship(JavaAssociationOverride parent)

buildJavaVirtualOverrideRelationship

JavaVirtualOverrideRelationship buildJavaVirtualOverrideRelationship(JavaVirtualAssociationOverride parent)

buildJavaQueryContainer

JavaQueryContainer buildJavaQueryContainer(JavaJpaContextNode parent,
                                           JavaQueryContainer.Owner owner)

buildJavaNamedQuery

JavaNamedQuery buildJavaNamedQuery(JavaJpaContextNode parent,
                                   NamedQueryAnnotation namedQueryAnnotation)

buildJavaNamedNativeQuery

JavaNamedNativeQuery buildJavaNamedNativeQuery(JavaJpaContextNode parent,
                                               NamedNativeQueryAnnotation namedNativeQueryAnnotation)

buildJavaQueryHint

JavaQueryHint buildJavaQueryHint(JavaQuery parent,
                                 QueryHintAnnotation queryHintAnnotation)

buildJavaUniqueConstraint

JavaUniqueConstraint buildJavaUniqueConstraint(JavaJpaContextNode parent,
                                               UniqueConstraint.Owner owner,
                                               UniqueConstraintAnnotation constraintAnnotation)

buildJavaVirtualUniqueConstraint

JavaVirtualUniqueConstraint buildJavaVirtualUniqueConstraint(JavaJpaContextNode parent,
                                                             UniqueConstraint uniqueConstraint)

buildJavaEnumeratedConverter

JavaEnumeratedConverter buildJavaEnumeratedConverter(JavaAttributeMapping parent,
                                                     EnumeratedAnnotation annotation)

buildJavaTemporalConverter

JavaTemporalConverter buildJavaTemporalConverter(JavaAttributeMapping parent,
                                                 TemporalAnnotation annotation)

buildJavaLobConverter

JavaLobConverter buildJavaLobConverter(JavaAttributeMapping parent,
                                       LobAnnotation annotation)

buildJavaOrderable

JavaOrderable buildJavaOrderable(JavaAttributeMapping parent)