blob: 315b6bbd164694ea3bee981d0e881a62ea19d207 [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.features;
import org.eclipse.bpmn2.modeler.core.runtime.CustomTaskDescriptor;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.graphiti.features.IFeatureProvider;
import org.eclipse.graphiti.features.custom.ICustomFeature;
// TODO: Auto-generated Javadoc
/**
* The Interface ICustomElementFeatureContainer.
*/
public interface ICustomElementFeatureContainer extends IFeatureContainer {
/**
* Gets the description.
*
* @return the description
*/
public String getDescription();
/**
* Sets the id.
*
* @param id the new id
*/
public abstract void setId(String id);
/**
* Gets the id.
*
* @return the id
*/
public abstract String getId();
/**
* Sets the custom task descriptor.
*
* @param customTaskDescriptor the new custom task descriptor
*/
public abstract void setCustomTaskDescriptor(CustomTaskDescriptor customTaskDescriptor);
/**
* Return a Custom Task ID from inspection of the given model object. If the object
* is not a custom task, return null.
*
* @param object - the model object to inspect
* @return a Custom Task ID string or null
*/
// FIXME: change parameter type to Object. This will allow the Target Runtime extension
// to handle DND objects from Project Explorer because AddContext.getNewObject() will
// be an IFile or IType or something other than EObject. By inspecting the NewObject,
// the extension plugin can decide whether it wants to handle DND of different types
// of files onto the canvas.
public abstract String getId(EObject object);
/* (non-Javadoc)
* @see org.eclipse.bpmn2.modeler.core.features.IFeatureContainer#getCustomFeatures(org.eclipse.graphiti.features.IFeatureProvider)
*/
public abstract ICustomFeature[] getCustomFeatures(IFeatureProvider fp);
}