| /*******************************************************************************
|
| * Copyright (c) 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.ui.internal;
|
|
|
| import org.eclipse.jface.resource.ImageDescriptor;
|
| import org.eclipse.jpt.jpa.core.context.PersistentType;
|
| import org.eclipse.jpt.jpa.core.context.java.JavaManagedType;
|
| import org.eclipse.jpt.jpa.core.context.java.JavaPersistentType;
|
| import org.eclipse.jpt.jpa.ui.JavaManagedTypeUiDefinition;
|
| import org.eclipse.jpt.jpa.ui.JpaPlatformUi;
|
| import org.eclipse.jpt.jpa.ui.details.MappingUiDefinition;
|
|
|
| //TODO NullManagedTypeUiDefinition or should it be a JavaPersistentType implementation if it doesn't match any of the ManagedType types
|
| public class JavaPersistentTypeUiDefinition
|
| implements JavaManagedTypeUiDefinition
|
| {
|
| // singleton
|
| private static final JavaPersistentTypeUiDefinition INSTANCE = new JavaPersistentTypeUiDefinition();
|
|
|
|
|
| /**
|
| * Return the singleton.
|
| */
|
| public static JavaManagedTypeUiDefinition instance() {
|
| return INSTANCE;
|
| }
|
|
|
|
|
| /**
|
| * Ensure single instance.
|
| */
|
| private JavaPersistentTypeUiDefinition() {
|
| super();
|
| }
|
|
|
| public Class<PersistentType> getManagedTypeType() {
|
| return PersistentType.class;
|
| }
|
|
|
| public ImageDescriptor getImageDescriptor(JavaManagedType managedType) {
|
| return this.getTypeMappingUiDefinition((JavaPersistentType) managedType).getImageDescriptor();
|
| }
|
|
|
| private MappingUiDefinition getTypeMappingUiDefinition(JavaPersistentType persistentType) {
|
| return this.getJpaPlatformUi(persistentType).getTypeMappingUiDefinition(persistentType.getResourceType(), persistentType.getMappingKey());
|
| }
|
|
|
| private JpaPlatformUi getJpaPlatformUi(JavaPersistentType persistentType) {
|
| return (JpaPlatformUi) persistentType.getJpaPlatform().getAdapter(JpaPlatformUi.class);
|
| }
|
| }
|