blob: 480bbff05e1ec67b9ece3ad149ee42db172a181a [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
*
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
package org.eclipse.jpt2_0.core.internal.platform;
import org.eclipse.jpt.core.context.MappingFile;
import org.eclipse.jpt.core.context.PersistentType;
import org.eclipse.jpt.core.context.XmlContextNode;
import org.eclipse.jpt.core.context.PersistentType.Owner;
import org.eclipse.jpt.core.context.java.JavaAttributeMapping;
import org.eclipse.jpt.core.context.java.JavaBasicMapping;
import org.eclipse.jpt.core.context.java.JavaEmbeddable;
import org.eclipse.jpt.core.context.java.JavaEmbeddedIdMapping;
import org.eclipse.jpt.core.context.java.JavaEmbeddedMapping;
import org.eclipse.jpt.core.context.java.JavaIdMapping;
import org.eclipse.jpt.core.context.java.JavaJpaContextNode;
import org.eclipse.jpt.core.context.java.JavaManyToManyMapping;
import org.eclipse.jpt.core.context.java.JavaManyToOneMapping;
import org.eclipse.jpt.core.context.java.JavaOneToManyMapping;
import org.eclipse.jpt.core.context.java.JavaOneToOneMapping;
import org.eclipse.jpt.core.context.java.JavaPersistentAttribute;
import org.eclipse.jpt.core.context.java.JavaPersistentType;
import org.eclipse.jpt.core.context.java.JavaSequenceGenerator;
import org.eclipse.jpt.core.context.java.JavaTransientMapping;
import org.eclipse.jpt.core.context.java.JavaVersionMapping;
import org.eclipse.jpt.core.context.orm.EntityMappings;
import org.eclipse.jpt.core.context.orm.OrmAttributeMapping;
import org.eclipse.jpt.core.context.orm.OrmBasicMapping;
import org.eclipse.jpt.core.context.orm.OrmEmbeddable;
import org.eclipse.jpt.core.context.orm.OrmEmbeddedIdMapping;
import org.eclipse.jpt.core.context.orm.OrmEmbeddedMapping;
import org.eclipse.jpt.core.context.orm.OrmEntity;
import org.eclipse.jpt.core.context.orm.OrmIdMapping;
import org.eclipse.jpt.core.context.orm.OrmManyToManyMapping;
import org.eclipse.jpt.core.context.orm.OrmManyToOneMapping;
import org.eclipse.jpt.core.context.orm.OrmMappedSuperclass;
import org.eclipse.jpt.core.context.orm.OrmOneToManyMapping;
import org.eclipse.jpt.core.context.orm.OrmOneToOneMapping;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.core.context.orm.OrmSequenceGenerator;
import org.eclipse.jpt.core.context.orm.OrmTransientMapping;
import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.context.orm.OrmVersionMapping;
import org.eclipse.jpt.core.context.orm.PersistenceUnitMetadata;
import org.eclipse.jpt.core.context.persistence.MappingFileRef;
import org.eclipse.jpt.core.internal.platform.GenericJpaFactory;
import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
import org.eclipse.jpt.core.resource.orm.XmlNullAttributeMapping;
import org.eclipse.jpt.core.resource.orm.XmlSequenceGenerator;
import org.eclipse.jpt.core.resource.orm.XmlTypeMapping;
import org.eclipse.jpt.core.resource.xml.JpaXmlResource;
import org.eclipse.jpt2_0.core.internal.context.java.Generic2_0JavaEmbeddable;
import org.eclipse.jpt2_0.core.internal.context.java.Generic2_0JavaPersistentAttribute;
import org.eclipse.jpt2_0.core.internal.context.java.Generic2_0JavaPersistentType;
import org.eclipse.jpt2_0.core.internal.context.java.Generic2_0JavaSequenceGenerator;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0EntityMappings;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0OrmEmbeddable;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0OrmPersistentAttribute;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0OrmPersistentType;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0OrmSequenceGenerator;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0OrmXml;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0PersistenceUnitMetadata;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0VirtualXmlBasic;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0VirtualXmlEmbedded;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0VirtualXmlEmbeddedId;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0VirtualXmlId;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0VirtualXmlManyToMany;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0VirtualXmlManyToOne;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0VirtualXmlNullAttributeMapping;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0VirtualXmlOneToMany;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0VirtualXmlOneToOne;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0VirtualXmlTransient;
import org.eclipse.jpt2_0.core.internal.context.orm.Generic2_0VirtualXmlVersion;
import org.eclipse.jpt2_0.core.resource.orm.XmlAttributeMapping;
import org.eclipse.jpt2_0.core.resource.orm.XmlBasic;
import org.eclipse.jpt2_0.core.resource.orm.XmlEmbeddable;
import org.eclipse.jpt2_0.core.resource.orm.XmlEmbedded;
import org.eclipse.jpt2_0.core.resource.orm.XmlEmbeddedId;
import org.eclipse.jpt2_0.core.resource.orm.XmlEntity;
import org.eclipse.jpt2_0.core.resource.orm.XmlEntityMappings;
import org.eclipse.jpt2_0.core.resource.orm.XmlId;
import org.eclipse.jpt2_0.core.resource.orm.XmlManyToMany;
import org.eclipse.jpt2_0.core.resource.orm.XmlManyToOne;
import org.eclipse.jpt2_0.core.resource.orm.XmlMappedSuperclass;
import org.eclipse.jpt2_0.core.resource.orm.XmlOneToMany;
import org.eclipse.jpt2_0.core.resource.orm.XmlOneToOne;
import org.eclipse.jpt2_0.core.resource.orm.XmlTransient;
import org.eclipse.jpt2_0.core.resource.orm.XmlVersion;
/**
* Central class that allows extenders to easily replace implementations of
* various Dali interfaces.
*/
public class Generic2_0JpaFactory extends GenericJpaFactory
{
public Generic2_0JpaFactory() {
super();
}
@Override
public JavaEmbeddable buildJavaEmbeddable(JavaPersistentType parent) {
return new Generic2_0JavaEmbeddable(parent);
}
// ********** Context Nodes **********
public MappingFile build2_0MappingFile(MappingFileRef parent, JpaXmlResource resource) {
return build2_0OrmXml(parent, resource);
}
protected Generic2_0OrmXml build2_0OrmXml(MappingFileRef parent, JpaXmlResource resource) {
return new Generic2_0OrmXml(parent, resource);
}
// ********** Generic 2.0-specific ORM Context Model **********
public EntityMappings build2_0EntityMappings(Generic2_0OrmXml parent, XmlEntityMappings xmlEntityMappings) {
return new Generic2_0EntityMappings(parent, xmlEntityMappings);
}
public PersistenceUnitMetadata build2_0PersistenceUnitMetadata(Generic2_0EntityMappings parent, XmlEntityMappings xmlEntityMappings) {
return new Generic2_0PersistenceUnitMetadata(parent, xmlEntityMappings);
}
public OrmPersistentType build2_0OrmPersistentType(EntityMappings parent, XmlTypeMapping resourceMapping) {
return new Generic2_0OrmPersistentType(parent, resourceMapping);
}
public OrmEmbeddable build2_0OrmEmbeddable(OrmPersistentType parent, XmlEmbeddable resourceMapping) {
return new Generic2_0OrmEmbeddable(parent, resourceMapping);
}
public OrmEntity build2_0OrmEntity(OrmPersistentType parent, XmlEntity resourceMapping) {
return buildOrmEntity(parent, resourceMapping);
}
public OrmMappedSuperclass build2_0OrmMappedSuperclass(OrmPersistentType parent, XmlMappedSuperclass resourceMapping) {
return buildOrmMappedSuperclass(parent, resourceMapping);
}
public OrmPersistentAttribute build2_0OrmPersistentAttribute(OrmPersistentType parent, OrmPersistentAttribute.Owner owner, XmlAttributeMapping resourceMapping) {
return new Generic2_0OrmPersistentAttribute(parent, owner, resourceMapping);
}
public OrmBasicMapping build2_0OrmBasicMapping(OrmPersistentAttribute parent, XmlBasic resourceMapping) {
return buildOrmBasicMapping(parent, resourceMapping);
}
public OrmEmbeddedMapping build2_0OrmEmbeddedMapping(OrmPersistentAttribute parent, XmlEmbedded resourceMapping) {
return buildOrmEmbeddedMapping(parent, resourceMapping);
}
public OrmEmbeddedIdMapping build2_0OrmEmbeddedIdMapping(OrmPersistentAttribute parent, XmlEmbeddedId resourceMapping) {
return buildOrmEmbeddedIdMapping(parent, resourceMapping);
}
public OrmIdMapping build2_0OrmIdMapping(OrmPersistentAttribute parent, XmlId resourceMapping) {
return buildOrmIdMapping(parent, resourceMapping);
}
public OrmManyToManyMapping build2_0OrmManyToManyMapping(OrmPersistentAttribute parent, XmlManyToMany resourceMapping) {
return buildOrmManyToManyMapping(parent, resourceMapping);
}
public OrmManyToOneMapping build2_0OrmManyToOneMapping(OrmPersistentAttribute parent, XmlManyToOne resourceMapping) {
return buildOrmManyToOneMapping(parent, resourceMapping);
}
public OrmOneToManyMapping build2_0OrmOneToManyMapping(OrmPersistentAttribute parent, XmlOneToMany resourceMapping) {
return buildOrmOneToManyMapping(parent, resourceMapping);
}
public OrmOneToOneMapping build2_0OrmOneToOneMapping(OrmPersistentAttribute parent, XmlOneToOne resourceMapping) {
return buildOrmOneToOneMapping(parent, resourceMapping);
}
public OrmTransientMapping build2_0OrmTransientMapping(OrmPersistentAttribute parent, XmlTransient resourceMapping) {
return buildOrmTransientMapping(parent, resourceMapping);
}
public OrmVersionMapping build2_0OrmVersionMapping(OrmPersistentAttribute parent, XmlVersion resourceMapping) {
return buildOrmVersionMapping(parent, resourceMapping);
}
public OrmAttributeMapping build2_0OrmNullAttributeMapping(OrmPersistentAttribute parent, XmlNullAttributeMapping resourceMapping) {
return buildOrmNullAttributeMapping(parent, resourceMapping);
}
public XmlBasic build2_0VirtualXmlBasic(OrmTypeMapping ormTypeMapping, JavaBasicMapping javaBasicMapping) {
return new Generic2_0VirtualXmlBasic(ormTypeMapping, javaBasicMapping);
}
public XmlId build2_0VirtualXmlId(OrmTypeMapping ormTypeMapping, JavaIdMapping javaIdMapping) {
return new Generic2_0VirtualXmlId(ormTypeMapping, javaIdMapping);
}
public XmlEmbeddedId build2_0VirtualXmlEmbeddedId(OrmTypeMapping ormTypeMapping, JavaEmbeddedIdMapping javaEmbeddedIdMapping) {
return new Generic2_0VirtualXmlEmbeddedId(ormTypeMapping, javaEmbeddedIdMapping);
}
public XmlEmbedded build2_0VirtualXmlEmbedded(OrmTypeMapping ormTypeMapping, JavaEmbeddedMapping javaEmbeddedMapping) {
return new Generic2_0VirtualXmlEmbedded(ormTypeMapping, javaEmbeddedMapping);
}
public XmlManyToMany build2_0VirtualXmlManyToMany(OrmTypeMapping ormTypeMapping, JavaManyToManyMapping javaManyToManyMapping) {
return new Generic2_0VirtualXmlManyToMany(ormTypeMapping, javaManyToManyMapping);
}
public XmlManyToOne build2_0VirtualXmlManyToOne(OrmTypeMapping ormTypeMapping, JavaManyToOneMapping javaManyToOneMapping) {
return new Generic2_0VirtualXmlManyToOne(ormTypeMapping, javaManyToOneMapping);
}
public XmlOneToMany build2_0VirtualXmlOneToMany(OrmTypeMapping ormTypeMapping, JavaOneToManyMapping javaOneToManyMapping) {
return new Generic2_0VirtualXmlOneToMany(ormTypeMapping, javaOneToManyMapping);
}
public XmlOneToOne build2_0VirtualXmlOneToOne(OrmTypeMapping ormTypeMapping, JavaOneToOneMapping javaOneToOneMapping) {
return new Generic2_0VirtualXmlOneToOne(ormTypeMapping, javaOneToOneMapping);
}
public XmlTransient build2_0VirtualXmlTransient(OrmTypeMapping ormTypeMapping, JavaTransientMapping javaTransientMapping) {
return new Generic2_0VirtualXmlTransient(ormTypeMapping, javaTransientMapping);
}
public XmlVersion build2_0VirtualXmlVersion(OrmTypeMapping ormTypeMapping, JavaVersionMapping javaVersionMapping) {
return new Generic2_0VirtualXmlVersion(ormTypeMapping, javaVersionMapping);
}
public XmlNullAttributeMapping build2_0VirtualXmlNullAttributeMapping(OrmTypeMapping ormTypeMapping, JavaAttributeMapping javaAttributeMapping) {
return new Generic2_0VirtualXmlNullAttributeMapping(ormTypeMapping, javaAttributeMapping);
}
@Override
public OrmSequenceGenerator buildOrmSequenceGenerator(XmlContextNode parent, XmlSequenceGenerator resourceSequenceGenerator) {
return new Generic2_0OrmSequenceGenerator(
parent,
(org.eclipse.jpt2_0.core.resource.orm.XmlSequenceGenerator) resourceSequenceGenerator);
}
// ********** Java Context Model **********
@Override
public JavaPersistentAttribute buildJavaPersistentAttribute(PersistentType parent, JavaResourcePersistentAttribute jrpa) {
return new Generic2_0JavaPersistentAttribute(parent, jrpa);
}
@Override
public JavaPersistentType buildJavaPersistentType(Owner owner, JavaResourcePersistentType jrpt) {
return new Generic2_0JavaPersistentType(owner, jrpt);
}
@Override
public JavaSequenceGenerator buildJavaSequenceGenerator(JavaJpaContextNode parent) {
return new Generic2_0JavaSequenceGenerator(parent);
}
}