blob: 87b12db3f9ddb4f3dcae2ef54b0008afc44192ab [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2007, 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.jpt.ui.internal;
import java.util.List;
import org.eclipse.jpt.core.context.AttributeMapping;
import org.eclipse.jpt.ui.JpaPlatformUiProvider;
import org.eclipse.jpt.ui.details.AttributeMappingUiProvider;
import org.eclipse.jpt.ui.details.DefaultAttributeMappingUiProvider;
import org.eclipse.jpt.ui.details.DefaultTypeMappingUiProvider;
import org.eclipse.jpt.ui.details.JpaDetailsProvider;
import org.eclipse.jpt.ui.details.TypeMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.DefaultBasicMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.DefaultEmbeddedMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaBasicMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaDefaultTypeMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaEmbeddableUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaEmbeddedIdMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaEmbeddedMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaEntityUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaIdMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaManyToManyMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaManyToOneMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaMappedSuperclassUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaOneToManyMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaOneToOneMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaPersistentAttributeDetailsProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaPersistentTypeDetailsProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaTransientMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.JavaVersionMappingUiProvider;
import org.eclipse.jpt.ui.internal.java.details.NullAttributeMappingUiProvider;
import org.eclipse.jpt.ui.internal.orm.details.EntityMappingsDetailsProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmBasicMappingUiProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmEmbeddableUiProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmEmbeddedIdMappingUiProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmEmbeddedMappingUiProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmEntityUiProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmIdMappingUiProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmManyToManyMappingUiProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmManyToOneMappingUiProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmMappedSuperclassUiProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmOneToManyMappingUiProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmOneToOneMappingUiProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmPersistentAttributeDetailsProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmPersistentTypeDetailsProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmTransientMappingUiProvider;
import org.eclipse.jpt.ui.internal.orm.details.OrmVersionMappingUiProvider;
import org.eclipse.jpt.ui.internal.structure.OrmResourceModelStructureProvider;
import org.eclipse.jpt.ui.structure.JpaStructureProvider;
/**
* All the state in the JPA platform should be "static" (i.e. unchanging once
* it is initialized).
*/
public class GenericJpaPlatformUiProvider extends AbstractJpaPlatformUiProvider
{
// singleton
private static final JpaPlatformUiProvider INSTANCE = new GenericJpaPlatformUiProvider();
/**
* Return the singleton.
*/
public static JpaPlatformUiProvider instance() {
return INSTANCE;
}
/**
* Ensure single instance.
*/
private GenericJpaPlatformUiProvider() {
super();
}
// ********** details providers **********
@Override
protected void addDetailsProvidersTo(List<JpaDetailsProvider> providers) {
providers.add(JavaPersistentTypeDetailsProvider.instance());
providers.add(JavaPersistentAttributeDetailsProvider.instance());
providers.add(EntityMappingsDetailsProvider.instance());
providers.add(OrmPersistentTypeDetailsProvider.instance());
providers.add(OrmPersistentAttributeDetailsProvider.instance());
}
// ********** structure providers **********
@Override
protected void addMappingFileStructureProvidersTo(List<JpaStructureProvider> providers) {
providers.add(OrmResourceModelStructureProvider.instance());
}
// ********** type mapping ui providers **********
@Override
protected void addTypeMappingUiProvidersTo(List<TypeMappingUiProvider<?>> providers) {
providers.add(JavaEntityUiProvider.instance());
providers.add(JavaMappedSuperclassUiProvider.instance());
providers.add(JavaEmbeddableUiProvider.instance());
providers.add(OrmEntityUiProvider.instance());
providers.add(OrmMappedSuperclassUiProvider.instance());
providers.add(OrmEmbeddableUiProvider.instance());
}
@Override
protected void addDefaultTypeMappingUiProvidersTo(List<DefaultTypeMappingUiProvider<?>> providers) {
providers.add(JavaDefaultTypeMappingUiProvider.instance());
}
// ********** attribute mapping ui providers **********
@Override
protected void addAttributeMappingUiProvidersTo(List<AttributeMappingUiProvider<? extends AttributeMapping>> providers) {
providers.add(JavaIdMappingUiProvider.instance());
providers.add(JavaEmbeddedIdMappingUiProvider.instance());
providers.add(JavaBasicMappingUiProvider.instance());
providers.add(JavaVersionMappingUiProvider.instance());
providers.add(JavaManyToOneMappingUiProvider.instance());
providers.add(JavaOneToManyMappingUiProvider.instance());
providers.add(JavaOneToOneMappingUiProvider.instance());
providers.add(JavaManyToManyMappingUiProvider.instance());
providers.add(JavaEmbeddedMappingUiProvider.instance());
providers.add(JavaTransientMappingUiProvider.instance());
providers.add(OrmIdMappingUiProvider.instance());
providers.add(OrmEmbeddedIdMappingUiProvider.instance());
providers.add(OrmBasicMappingUiProvider.instance());
providers.add(OrmVersionMappingUiProvider.instance());
providers.add(OrmManyToOneMappingUiProvider.instance());
providers.add(OrmOneToManyMappingUiProvider.instance());
providers.add(OrmOneToOneMappingUiProvider.instance());
providers.add(OrmManyToManyMappingUiProvider.instance());
providers.add(OrmEmbeddedMappingUiProvider.instance());
providers.add(OrmTransientMappingUiProvider.instance());
}
@Override
protected void addDefaultAttributeMappingUiProvidersTo(List<DefaultAttributeMappingUiProvider<? extends AttributeMapping>> providers) {
providers.add(DefaultBasicMappingUiProvider.instance());
providers.add(DefaultEmbeddedMappingUiProvider.instance());
providers.add(NullAttributeMappingUiProvider.instance());
}
}