Skip to main content
summaryrefslogblamecommitdiffstats
blob: 8dadc767e7f648f3ce5f70a4180bb8e41d363f10 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11










                                                                                 
                                        
                                    
                                       

                                                   
                                                              
                                                          
                                                        
                                                       
                                                            

                                                               

                                                              
                                                                 

                                                            
                                                            
                                                        
                                                      
                                                     
                                                            
                                                               

                                                          
                                                          
                                                               

                                                                
                                                
                                                                
                                                           
                                                                          
                                                                       
                                                                    

                                                                                     
                                                                 
                                                                        
                                                                         

                                                                   
                                                                         
                                                                    
                                                                         
                                                                       
                                                                 
                                                                             
                                                                        
                                                                  

                                                                         
                                                                                    
                                                                                              
                                                                                     
                                                                                            
                                                                                             
                                                                                     
                                                                                       
                                                                                             
                                                                                        
                                                                                            
                                                                                        
                                                                                             
                                                                                           
                                                                                           

                                                                                                   
                                                                                                  
                                                                                     
                                                                                                 

                                                                                                  
                                                                                            
                                                                                      

                                                                                             
                                                                                                
                                                                                        

                                                                                      
                                                                                  
                                                                                     
                                                                                            
                                                                                          
                                                                               
                                                                                                  
                                                                            
 

                                  
 
                                           

                        



                                                                                    

                                                                                                                                  





                                                                                    
                                                                                                


                                                                                                                  
                                                                

         


                                                                                    



                                                                                                             
        







                                                                                                                 




                                                                           



                                                                              




                                                                                       



                                                                                   














                                                                                        


                                                                                    
                 




                                                                                       




                                                                              



                                                                                 
                 




                                                                                 



                                                                                                     




                                                                                           









                                                                                               









                                                                                                 





                                                                                 
         
        

                                                                                                                

         

                                                                                                               

         

                                                                                                                                   

         

                                                                                                                           

         

                                                                                                                       

         
                                                                                             
                                                                  

         
                                                                                      


                                                                
                                                                                        





                                                                                     
        



                                                                           


                                                                          



                                                                       




                                                                                   
 
/*******************************************************************************
 * Copyright (c) 2008 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.jpt.eclipselink.core.internal;

import org.eclipse.core.resources.IFile;
import org.eclipse.jpt.core.JpaFile;
import org.eclipse.jpt.core.JpaProject;
import org.eclipse.jpt.core.context.JpaContextNode;
import org.eclipse.jpt.core.context.XmlContextNode;
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.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.JavaTypeMapping;
import org.eclipse.jpt.core.context.java.JavaVersionMapping;
import org.eclipse.jpt.core.context.orm.OrmBasicMapping;
import org.eclipse.jpt.core.context.orm.OrmEmbeddable;
import org.eclipse.jpt.core.context.orm.OrmIdMapping;
import org.eclipse.jpt.core.context.orm.OrmMappedSuperclass;
import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute;
import org.eclipse.jpt.core.context.orm.OrmPersistentType;
import org.eclipse.jpt.core.context.orm.OrmTypeMapping;
import org.eclipse.jpt.core.context.orm.OrmVersionMapping;
import org.eclipse.jpt.core.context.persistence.MappingFileRef;
import org.eclipse.jpt.core.context.persistence.Persistence;
import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
import org.eclipse.jpt.core.internal.XmlJpaFile;
import org.eclipse.jpt.core.internal.platform.GenericJpaFactory;
import org.eclipse.jpt.core.resource.common.JpaXmlResource;
import org.eclipse.jpt.core.resource.java.JavaResourcePersistentAttribute;
import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
import org.eclipse.jpt.core.resource.persistence.XmlPersistenceUnit;
import org.eclipse.jpt.eclipselink.core.context.java.EclipseLinkJavaEntity;
import org.eclipse.jpt.eclipselink.core.context.java.EclipseLinkJavaMappedSuperclass;
import org.eclipse.jpt.eclipselink.core.context.java.JavaCaching;
import org.eclipse.jpt.eclipselink.core.context.java.JavaChangeTracking;
import org.eclipse.jpt.eclipselink.core.context.java.JavaConversionValue;
import org.eclipse.jpt.eclipselink.core.context.java.JavaConvert;
import org.eclipse.jpt.eclipselink.core.context.java.JavaConverter;
import org.eclipse.jpt.eclipselink.core.context.java.JavaConverterHolder;
import org.eclipse.jpt.eclipselink.core.context.java.JavaCustomizer;
import org.eclipse.jpt.eclipselink.core.context.java.JavaExpiryTimeOfDay;
import org.eclipse.jpt.eclipselink.core.context.java.JavaJoinFetchable;
import org.eclipse.jpt.eclipselink.core.context.java.JavaMutable;
import org.eclipse.jpt.eclipselink.core.context.java.JavaObjectTypeConverter;
import org.eclipse.jpt.eclipselink.core.context.java.JavaPrivateOwnable;
import org.eclipse.jpt.eclipselink.core.context.java.JavaReadOnly;
import org.eclipse.jpt.eclipselink.core.context.java.JavaStructConverter;
import org.eclipse.jpt.eclipselink.core.context.java.JavaTypeConverter;
import org.eclipse.jpt.eclipselink.core.internal.context.EclipseLinkPersistenceUnit;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaBasicMappingImpl;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaCaching;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaChangeTracking;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaConversionValue;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaConvert;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaConverter;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaConverterHolder;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaCustomizer;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaEmbeddableImpl;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaEntityImpl;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaExpiryTimeOfDay;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaIdMappingImpl;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaJoinFetchable;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaManyToManyMappingImpl;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaManyToOneMappingImpl;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaMappedSuperclassImpl;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaMutable;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaObjectTypeConverter;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaOneToManyMappingImpl;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaOneToOneMappingImpl;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaPrivateOwnable;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaReadOnly;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaStructConverter;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaTypeConverter;
import org.eclipse.jpt.eclipselink.core.internal.context.java.EclipseLinkJavaVersionMappingImpl;
import org.eclipse.jpt.eclipselink.core.internal.context.orm.EclipseLinkOrmBasicMapping;
import org.eclipse.jpt.eclipselink.core.internal.context.orm.EclipseLinkOrmCustomizer;
import org.eclipse.jpt.eclipselink.core.internal.context.orm.EclipseLinkOrmEmbeddable;
import org.eclipse.jpt.eclipselink.core.internal.context.orm.EclipseLinkOrmEntity;
import org.eclipse.jpt.eclipselink.core.internal.context.orm.EclipseLinkOrmIdMapping;
import org.eclipse.jpt.eclipselink.core.internal.context.orm.EclipseLinkOrmMappedSuperclass;
import org.eclipse.jpt.eclipselink.core.internal.context.orm.EclipseLinkOrmVersionMapping;
import org.eclipse.jpt.eclipselink.core.internal.context.orm.EclipseLinkOrmXml;
import org.eclipse.jpt.eclipselink.core.internal.resource.orm.EclipseLinkOrmResourceModelProvider;
import org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmResource;

public class EclipseLinkJpaFactory
	extends GenericJpaFactory
{
	protected EclipseLinkJpaFactory() {
		super();
	}
	
	
	// **************** Resource objects ***************************************
	
	public JpaFile buildEclipseLinkOrmJpaFile(JpaProject jpaProject, IFile file) {
		return new XmlJpaFile(jpaProject, file, EclipseLinkOrmResourceModelProvider.getModelProvider(file).getResource());
	}
	
	
	// **************** Context objects ****************************************
	
	@Override
	public XmlContextNode buildContextNode(JpaContextNode parent, JpaXmlResource resource) {
		if (resource instanceof EclipseLinkOrmResource) {
			return buildEclipseLinkOrmXml((MappingFileRef) parent, (EclipseLinkOrmResource) resource);
		}
		return super.buildContextNode(parent, resource);
	}
	
	
	// **************** persistence context objects ****************************
	
	@Override
	public PersistenceUnit buildPersistenceUnit(Persistence parent, XmlPersistenceUnit persistenceUnit) {
		return new EclipseLinkPersistenceUnit(parent, persistenceUnit);
	}
	
	
	// **************** eclipselink orm context objects ************************
	
	public EclipseLinkOrmXml buildEclipseLinkOrmXml(MappingFileRef parent, EclipseLinkOrmResource resource) {
		return new EclipseLinkOrmXml(parent, resource);
	}
	
	@Override
	public OrmEmbeddable buildOrmEmbeddable(OrmPersistentType parent) {
		return new EclipseLinkOrmEmbeddable(parent);
	}
	
	@Override
	public EclipseLinkOrmEntity buildOrmEntity(OrmPersistentType parent) {
		return new EclipseLinkOrmEntity(parent);
	}
	
	@Override
	public OrmMappedSuperclass buildOrmMappedSuperclass(OrmPersistentType parent) {
		return new EclipseLinkOrmMappedSuperclass(parent);
	}
	
	public EclipseLinkOrmCustomizer buildOrmCustomizer(OrmTypeMapping parent) {
		return new EclipseLinkOrmCustomizer(parent);
	}
	
	@Override
	public OrmIdMapping buildOrmIdMapping(OrmPersistentAttribute parent) {
		return new EclipseLinkOrmIdMapping(parent);
	}
	
	@Override
	public OrmBasicMapping buildOrmBasicMapping(OrmPersistentAttribute parent) {
		return new EclipseLinkOrmBasicMapping(parent);
	}
	
	@Override
	public OrmVersionMapping buildOrmVersionMapping(OrmPersistentAttribute parent) {
		return new EclipseLinkOrmVersionMapping(parent);
	}
	
	
	// **************** java context objects ***********************************

	@Override
	public JavaBasicMapping buildJavaBasicMapping(JavaPersistentAttribute parent) {
		return new EclipseLinkJavaBasicMappingImpl(parent);
	}
	
	@Override
	public JavaEmbeddable buildJavaEmbeddable(JavaPersistentType parent) {
		return new EclipseLinkJavaEmbeddableImpl(parent);
	}
	
	@Override
	public EclipseLinkJavaEntity buildJavaEntity(JavaPersistentType parent) {
		return new EclipseLinkJavaEntityImpl(parent);
	}
	
	@Override
	public JavaIdMapping buildJavaIdMapping(JavaPersistentAttribute parent) {
		return new EclipseLinkJavaIdMappingImpl(parent);
	}
	
	@Override
	public EclipseLinkJavaMappedSuperclass buildJavaMappedSuperclass(JavaPersistentType parent) {
		return new EclipseLinkJavaMappedSuperclassImpl(parent);
	}
	
	@Override
	public JavaVersionMapping buildJavaVersionMapping(JavaPersistentAttribute parent) {
		return new EclipseLinkJavaVersionMappingImpl(parent);
	}
	
	@Override
	public JavaOneToManyMapping buildJavaOneToManyMapping(JavaPersistentAttribute parent) {
		return new EclipseLinkJavaOneToManyMappingImpl(parent);
	}
	
	@Override
	public JavaOneToOneMapping buildJavaOneToOneMapping(JavaPersistentAttribute parent) {
		return new EclipseLinkJavaOneToOneMappingImpl(parent);
	}
	
	@Override
	public JavaManyToManyMapping buildJavaManyToManyMapping(JavaPersistentAttribute parent) {
		return new EclipseLinkJavaManyToManyMappingImpl(parent);
	}
	
	@Override
	public JavaManyToOneMapping buildJavaManyToOneMapping(JavaPersistentAttribute parent) {
		return new EclipseLinkJavaManyToOneMappingImpl(parent);
	}
	
	public JavaCaching buildJavaCaching(JavaTypeMapping parent) {
		return new EclipseLinkJavaCaching(parent);
	}
	
	public JavaExpiryTimeOfDay buildJavaExpiryTimeOfDay(JavaCaching parent) {
		return new EclipseLinkJavaExpiryTimeOfDay(parent);
	}
	
	public JavaConvert buildJavaConvert(JavaAttributeMapping parent, JavaResourcePersistentAttribute jrpa) {
		return new EclipseLinkJavaConvert(parent, jrpa);
	}
	
	public JavaConverter buildJavaConverter(JavaJpaContextNode parent, JavaResourcePersistentMember jrpm) {
		return new EclipseLinkJavaConverter(parent, jrpm);
	}
	
	public JavaObjectTypeConverter buildJavaObjectTypeConverter(JavaJpaContextNode parent, JavaResourcePersistentMember jrpm) {
		return new EclipseLinkJavaObjectTypeConverter(parent, jrpm);
	}
	
	public JavaStructConverter buildJavaStructConverter(JavaJpaContextNode parent, JavaResourcePersistentMember jrpm) {
		return new EclipseLinkJavaStructConverter(parent, jrpm);
	}
	
	public JavaTypeConverter buildJavaTypeConverter(JavaJpaContextNode parent, JavaResourcePersistentMember jrpm) {
		return new EclipseLinkJavaTypeConverter(parent, jrpm);
	}
	
	public JavaConversionValue buildJavaConversionValue(JavaObjectTypeConverter parent) {
		return new EclipseLinkJavaConversionValue(parent);
	}
	
	public JavaJoinFetchable buildJavaJoinFetchable(JavaAttributeMapping parent) {
		return new EclipseLinkJavaJoinFetchable(parent);
	}
	
	public JavaPrivateOwnable buildJavaPrivateOwnable(JavaAttributeMapping parent) {
		return new EclipseLinkJavaPrivateOwnable(parent);
	}
	
	public JavaConverterHolder buildJavaConverterHolder(JavaTypeMapping parent) {
		return new EclipseLinkJavaConverterHolder(parent);
	}
	
	public JavaCustomizer buildJavaCustomizer(JavaTypeMapping parent) {
		return new EclipseLinkJavaCustomizer(parent);
	}
	
	public JavaMutable buildJavaMutable(JavaAttributeMapping parent) {
		return new EclipseLinkJavaMutable(parent);
	}
	
	public JavaReadOnly buildJavaReadOnly(JavaTypeMapping parent) {
		return new EclipseLinkJavaReadOnly(parent);
	}
	
	public JavaChangeTracking buildJavaChangeTracking(JavaTypeMapping parent) {
		return new EclipseLinkJavaChangeTracking(parent);
	}

}

Back to the top