| /******************************************************************************* |
| * Copyright (c) 2007, 2013 Oracle. All rights reserved. |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License 2.0, which accompanies this distribution |
| * and is available at https://www.eclipse.org/legal/epl-2.0/. |
| * |
| * Contributors: |
| * Oracle - initial API and implementation |
| ******************************************************************************/ |
| package org.eclipse.jpt.jpa.eclipselink.ui.internal.details.orm; |
| |
| import java.util.List; |
| import org.eclipse.jpt.common.core.JptResourceType; |
| import org.eclipse.jpt.common.ui.jface.ItemTreeStateProviderFactoryProvider; |
| import org.eclipse.jpt.jpa.eclipselink.core.internal.context.orm.EclipseLinkOrmXmlDefinition2_0; |
| import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkBasicCollectionMappingUiDefinition; |
| import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkBasicMapMappingUiDefinition; |
| import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkTransformationMappingUiDefinition; |
| import org.eclipse.jpt.jpa.eclipselink.ui.internal.details.EclipseLinkVariableOneToOneMappingUiDefinition; |
| import org.eclipse.jpt.jpa.ui.ResourceUiDefinition; |
| import org.eclipse.jpt.jpa.ui.details.JpaDetailsProvider; |
| import org.eclipse.jpt.jpa.ui.details.JpaUiFactory; |
| import org.eclipse.jpt.jpa.ui.details.MappingUiDefinition; |
| import org.eclipse.jpt.jpa.ui.internal.details.BasicMappingUiDefinition; |
| import org.eclipse.jpt.jpa.ui.internal.details.EmbeddedIdMappingUiDefinition; |
| import org.eclipse.jpt.jpa.ui.internal.details.EmbeddedMappingUiDefinition; |
| import org.eclipse.jpt.jpa.ui.internal.details.IdMappingUiDefinition; |
| import org.eclipse.jpt.jpa.ui.internal.details.ManyToManyMappingUiDefinition; |
| import org.eclipse.jpt.jpa.ui.internal.details.ManyToOneMappingUiDefinition; |
| import org.eclipse.jpt.jpa.ui.internal.details.OneToManyMappingUiDefinition; |
| import org.eclipse.jpt.jpa.ui.internal.details.OneToOneMappingUiDefinition; |
| import org.eclipse.jpt.jpa.ui.internal.details.TransientMappingUiDefinition; |
| import org.eclipse.jpt.jpa.ui.internal.details.VersionMappingUiDefinition; |
| import org.eclipse.jpt.jpa.ui.internal.details.orm.AbstractOrmXmlResourceUiDefinition; |
| import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentAttributeDetailsProvider; |
| import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmPersistentTypeDetailsProvider; |
| import org.eclipse.jpt.jpa.ui.internal.details.orm.OrmXmlUiDefinition; |
| import org.eclipse.jpt.jpa.ui.internal.jpa2.details.ElementCollectionMappingUiDefinition2_0; |
| |
| public class EclipseLinkOrmXmlUiDefinition2_0 |
| extends AbstractOrmXmlResourceUiDefinition |
| { |
| // singleton |
| private static final ResourceUiDefinition INSTANCE = new EclipseLinkOrmXmlUiDefinition2_0(); |
| |
| |
| /** |
| * Return the singleton |
| */ |
| public static ResourceUiDefinition instance() { |
| return INSTANCE; |
| } |
| |
| |
| /** |
| * Enforce singleton usage |
| */ |
| private EclipseLinkOrmXmlUiDefinition2_0() { |
| super(); |
| } |
| |
| |
| @Override |
| protected JpaUiFactory buildUiFactory() { |
| return new EclipseLinkOrmXmlUiFactory2_0(); |
| } |
| |
| public boolean providesUi(JptResourceType resourceType) { |
| return resourceType.equals(EclipseLinkOrmXmlDefinition2_0.instance().getResourceType()); |
| } |
| |
| |
| // ********** details providers ********** |
| |
| @Override |
| protected void addDetailsProvidersTo(List<JpaDetailsProvider> providers) { |
| providers.add(OrmPersistentTypeDetailsProvider.instance()); |
| providers.add(OrmPersistentAttributeDetailsProvider.instance()); |
| providers.add(EclipseLinkEntityMappingsDetailsProvider2_0.instance()); |
| } |
| |
| |
| // ********** structure view factory provider ********** |
| |
| public ItemTreeStateProviderFactoryProvider getStructureViewFactoryProvider() { |
| return OrmXmlUiDefinition.STRUCTURE_VIEW_FACTORY_PROVIDER; |
| } |
| |
| @Override |
| protected void addSpecifiedAttributeMappingUiDefinitionsTo(List<MappingUiDefinition> definitions) { |
| definitions.add(IdMappingUiDefinition.instance()); |
| definitions.add(EmbeddedIdMappingUiDefinition.instance()); |
| definitions.add(BasicMappingUiDefinition.instance()); |
| definitions.add(VersionMappingUiDefinition.instance()); |
| definitions.add(ManyToOneMappingUiDefinition.instance()); |
| definitions.add(OneToManyMappingUiDefinition.instance()); |
| definitions.add(OneToOneMappingUiDefinition.instance()); |
| definitions.add(ManyToManyMappingUiDefinition.instance()); |
| definitions.add(EmbeddedMappingUiDefinition.instance()); |
| definitions.add(TransientMappingUiDefinition.instance()); |
| |
| definitions.add(EclipseLinkBasicCollectionMappingUiDefinition.instance()); |
| definitions.add(EclipseLinkBasicMapMappingUiDefinition.instance()); |
| definitions.add(EclipseLinkVariableOneToOneMappingUiDefinition.instance()); |
| definitions.add(EclipseLinkTransformationMappingUiDefinition.instance()); |
| |
| definitions.add(ElementCollectionMappingUiDefinition2_0.instance()); |
| } |
| } |