| /******************************************************************************* |
| * Copyright (c) 2006, 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.details; |
| |
| import org.eclipse.jpt.core.JpaStructureNode; |
| import org.eclipse.jpt.ui.WidgetFactory; |
| import org.eclipse.swt.widgets.Composite; |
| |
| /** |
| * This provider is responsible to create the {@link JpaDetailsPage} |
| * responsible to show the information for a given content node id. |
| * |
| * @see JpaDetailsPage |
| * |
| * @version 3.0 |
| * @since 2.0 |
| * |
| * Provisional API: This interface is part of an interim API that is still |
| * under development and expected to change significantly before reaching |
| * stability. It is available at this early stage to solicit feedback from |
| * pioneering adopters on the understanding that any code that uses this API |
| * will almost certainly be broken (repeatedly) as the API evolves. |
| */ |
| public interface JpaDetailsProvider |
| { |
| /** |
| * Return whether this provider returns a details page for the given structure node |
| */ |
| boolean providesDetails(JpaStructureNode structureNode); |
| |
| /** |
| * Creates a new details page based on the given content node id. |
| * |
| * @param parent The parent container |
| * @param contentNodeId The unique identifier used to determine which details |
| * page to create |
| * @param widgetFactory The factory used to create various widgets |
| */ |
| //TODO Should we pass in JpaUiFactory so these pages can be built using the factory and overriden? |
| JpaDetailsPage<? extends JpaStructureNode> buildDetailsPage( |
| Composite parent, |
| WidgetFactory widgetFactory); |
| } |