| /******************************************************************************* |
| * Copyright (c) 2006 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.mappings.details; |
| |
| |
| import org.eclipse.emf.common.command.CommandStack; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.emf.ecore.impl.EObjectImpl; |
| import org.eclipse.jpt.core.internal.mappings.DefaultEagerFetchType; |
| import org.eclipse.jpt.core.internal.mappings.DefaultLazyFetchType; |
| import org.eclipse.jpt.core.internal.mappings.IAbstractColumn; |
| import org.eclipse.jpt.core.internal.mappings.IColumn; |
| import org.eclipse.jpt.core.internal.mappings.IMultiRelationshipMapping; |
| import org.eclipse.jpt.core.internal.mappings.ISingleRelationshipMapping; |
| import org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage; |
| import org.eclipse.jpt.ui.internal.mappings.JpaUiMappingsMessages; |
| import org.eclipse.jpt.ui.internal.mappings.details.EnumComboViewer.EnumHolder; |
| import org.eclipse.jpt.ui.internal.mappings.details.StringWithDefaultChooser.StringHolder; |
| import org.eclipse.osgi.util.NLS; |
| import org.eclipse.swt.widgets.Composite; |
| import org.eclipse.swt.widgets.Label; |
| import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; |
| |
| public class CommonWidgets |
| { |
| public static Label buildEntityNameLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return widgetFactory.createLabel(parent, JpaUiMappingsMessages.EntityGeneralSection_name); |
| } |
| |
| public static EntityNameCombo buildEntityNameCombo( |
| Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return new EntityNameCombo(parent, commandStack, widgetFactory); |
| } |
| |
| public static Label buildTableLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return widgetFactory.createLabel(parent, JpaUiMappingsMessages.TableChooser_label); |
| } |
| |
| public static Label buildCatalogLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return widgetFactory.createLabel(parent, JpaUiMappingsMessages.CatalogChooser_label); |
| } |
| |
| public static Label buildSchemaLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return widgetFactory.createLabel(parent, JpaUiMappingsMessages.SchemaChooser_label); |
| } |
| |
| public static StringWithDefaultChooser buildStringWithDefaultChooser( |
| Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return new StringWithDefaultChooser(parent, commandStack, widgetFactory); |
| } |
| |
| |
| public static Label buildFetchLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return widgetFactory.createLabel(parent, JpaUiMappingsMessages.BasicGeneralSection_fetchLabel); |
| } |
| |
| public static Label buildTargetEntityLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return widgetFactory.createLabel(parent, JpaUiMappingsMessages.TargetEntityChooser_label); |
| } |
| |
| public static Label buildOptionalLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return widgetFactory.createLabel(parent, JpaUiMappingsMessages.BasicGeneralSection_optionalLabel); |
| } |
| |
| public static Label buildTemporalLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return widgetFactory.createLabel(parent, JpaUiMappingsMessages.BasicGeneralSection_temporalLabel); |
| } |
| |
| public static Label buildEnumeratedLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return widgetFactory.createLabel(parent, JpaUiMappingsMessages.BasicGeneralSection_enumeratedLabel); |
| } |
| |
| public static Label buildMappedByLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return widgetFactory.createLabel(parent, JpaUiMappingsMessages.NonOwningMapping_mappedByLabel); |
| } |
| |
| public static EnumComboViewer buildFetchTypeComboViewer( |
| Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return new EnumComboViewer(parent, commandStack, widgetFactory); |
| } |
| |
| public static EnumComboViewer buildEnumComboViewer( |
| Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return new EnumComboViewer(parent, commandStack, widgetFactory); |
| } |
| |
| public static EnumHolder buildMultiRelationshipMappingFetchEnumHolder(IMultiRelationshipMapping mapping) { |
| return new FetchHolder(mapping); |
| } |
| |
| public static EnumHolder buildSingleRelationshipMappingFetchEnumHolder(ISingleRelationshipMapping mapping) { |
| return new SingleRelationshipMappingFetchHolder(mapping); |
| } |
| |
| public static Label buildColumnLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return widgetFactory.createLabel(parent, JpaUiMappingsMessages.ColumnChooser_label); |
| } |
| |
| public static Label buildColumnTableLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return widgetFactory.createLabel(parent, JpaUiMappingsMessages.ColumnTableChooser_label); |
| } |
| |
| public static ColumnTableHolder buildColumnTableHolder(IColumn column) { |
| return new ColumnTableHolder(column); |
| } |
| |
| public static TargetEntityChooser buildTargetEntityChooser(Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { |
| return new TargetEntityChooser(parent, commandStack, widgetFactory); |
| } |
| private static class FetchHolder extends EObjectImpl implements EnumHolder { |
| |
| private IMultiRelationshipMapping mapping; |
| |
| FetchHolder(IMultiRelationshipMapping mapping) { |
| super(); |
| this.mapping = mapping; |
| } |
| |
| public Object get() { |
| return this.mapping.getFetch(); |
| } |
| |
| public void set(Object enumSetting) { |
| this.mapping.setFetch((DefaultLazyFetchType) enumSetting); |
| |
| } |
| |
| public Class featureClass() { |
| return IMultiRelationshipMapping.class; |
| } |
| |
| public int featureId() { |
| return JpaCoreMappingsPackage.IMULTI_RELATIONSHIP_MAPPING__FETCH; |
| } |
| |
| public EObject wrappedObject() { |
| return this.mapping; |
| } |
| |
| public Object[] enumValues() { |
| return DefaultLazyFetchType.VALUES.toArray(); |
| } |
| } |
| |
| private static class SingleRelationshipMappingFetchHolder extends EObjectImpl implements EnumHolder { |
| |
| private ISingleRelationshipMapping mapping; |
| |
| SingleRelationshipMappingFetchHolder(ISingleRelationshipMapping mapping) { |
| super(); |
| this.mapping = mapping; |
| } |
| |
| public Object get() { |
| return this.mapping.getFetch(); |
| } |
| |
| public void set(Object enumSetting) { |
| this.mapping.setFetch((DefaultEagerFetchType) enumSetting); |
| |
| } |
| |
| public Class featureClass() { |
| return ISingleRelationshipMapping.class; |
| } |
| |
| public int featureId() { |
| return JpaCoreMappingsPackage.ISINGLE_RELATIONSHIP_MAPPING__FETCH; |
| } |
| |
| public EObject wrappedObject() { |
| return this.mapping; |
| } |
| |
| public Object[] enumValues() { |
| return DefaultEagerFetchType.VALUES.toArray(); |
| } |
| } |
| private static abstract class ColumnHolder extends EObjectImpl implements StringHolder { |
| private IAbstractColumn column; |
| |
| ColumnHolder(IAbstractColumn column) { |
| super(); |
| this.column = column; |
| } |
| |
| public Class featureClass() { |
| return IAbstractColumn.class; |
| } |
| |
| public boolean supportsDefault() { |
| return true; |
| } |
| |
| public EObject wrappedObject() { |
| return this.column; |
| } |
| |
| protected IAbstractColumn getColumn() { |
| return this.column; |
| } |
| } |
| |
| public static class ColumnTableHolder extends ColumnHolder implements StringHolder { |
| |
| ColumnTableHolder(IAbstractColumn column) { |
| super(column); |
| } |
| |
| public int featureId() { |
| return JpaCoreMappingsPackage.IABSTRACT_COLUMN__SPECIFIED_TABLE; |
| } |
| |
| public int defaultFeatureId() { |
| return JpaCoreMappingsPackage.IABSTRACT_COLUMN__DEFAULT_TABLE; |
| } |
| |
| public String defaultItem() { |
| String defaultName = getColumn().getDefaultTable(); |
| if (defaultName != null) { |
| return NLS.bind(JpaUiMappingsMessages.ColumnComposite_defaultWithOneParam, defaultName); |
| } |
| return JpaUiMappingsMessages.ColumnComposite_defaultEmpty; |
| } |
| |
| public String getString() { |
| return getColumn().getSpecifiedTable(); |
| } |
| |
| public void setString(String newName) { |
| getColumn().setSpecifiedTable(newName); |
| } |
| } |
| } |