blob: 7ba3c34bb3fdc47f26f5eae29a4dc8819fe68a39 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011, 2012 Red Hat, Inc.
* All rights reserved.
* This program is 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:
* Red Hat, Inc. - initial API and implementation
*
* @author Bob Brodt
******************************************************************************/
package org.eclipse.bpmn2.modeler.core;
import org.eclipse.bpmn2.modeler.core.preferences.Bpmn2Preferences;
import org.eclipse.bpmn2.modeler.core.utils.ModelUtil.Bpmn2DiagramType;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.graphiti.ui.editor.DiagramEditor;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IEditorInput;
public interface IBpmn2RuntimeExtension {
/**
* Check if the given input file is specific to the runtime environment.
* The implementation should check for specific extensions and namespaces that identify
* the file for this runtime.
*
* @param input
* @return true if the file is targeted for this runtime, false if the file is generic BPMN 2.0
*/
public boolean isContentForRuntime(IEditorInput input);
/**
* Return the target namespace defined by this runtime for the given diagram type.
*
* @param diagramType
* @return a targetNamespace URI
*/
public String getTargetNamespace(Bpmn2DiagramType diagramType);
/**
* Return the default data types supported by this runtime. The first entry in the array
* is used as the default data type assumed for ItemDefinitions that do not reference an
* Import element. ItemDefinitions can override this data type by referencing an Import
* where the structure as well as the type URI are defined.
*
* @return an array of String pairs for the list of supported type languages;
* the first string is the type language URI, the second string is a descriptive
* name used in the UI.
*/
public String[] getTypeLanguages();
/**
* Return a string array of expression languages supported by this runtime. The first
* entry in the array is used as the default expression language for the process, i.e. it
* is used in the <definitions expressionLanguage="..."/> declaration.
*
* @return an array of String pairs for the list of supported expression languages;
* the first string is the expression language URI, the second string is a descriptive
* name used in the UI.
*/
public String[] getExpressionLanguages();
/**
* @param editor
*/
public void initialize(DiagramEditor editor);
}