Skip to main content
summaryrefslogtreecommitdiffstats
blob: 3259d36e175e8c9df6d2b78a2194d8e71fbfa4a7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*******************************************************************************
 * Copyright (c) 2006, 2007 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.java.details;

import org.eclipse.jpt.core.context.AttributeMapping;
import org.eclipse.jpt.ui.JpaUiFactory;
import org.eclipse.jpt.ui.details.JpaComposite;
import org.eclipse.jpt.utility.internal.model.value.PropertyValueModel;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;

public interface AttributeMappingUiProvider<T extends AttributeMapping>
{
	/**
	 * A unique string that corresponds to the key of a MappingProvider in the core
	 * (IJavaAttributeMappingProvider and/or IXmlAttributeMappingProvider)
	 */
	String attributeMappingKey();

	/**
	 * The IJpaComposite that correponds to this mapping type.  This will be displayed
	 * by the PersistentAttributeDetailsPage when the mapping key matches the key given
	 * by this provider.  The composites will be stored in a Map with the mapping key as the key.
	 * @param factory
	 * @param parent
	 * @param widgetFactory
	 *
	 * @return
	 */
	JpaComposite<T> buildAttributeMappingComposite(
			JpaUiFactory factory,
			PropertyValueModel<T> subjectHolder,
			Composite parent,
			TabbedPropertySheetWidgetFactory widgetFactory);

	/**
	 * A label to be displayed to the label as an option in the mapping type combo box
	 * @return
	 */
	String label();
}

Back to the top