/*****************************************************************************
* Copyright (c) 2010 CEA LIST.
*
*
* 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:
* Patrick Tessier (CEA LIST) Patrick.tessier@cea.fr - Initial API and implementation
*
*****************************************************************************/
package org.eclipse.papyrus.uml.pastemanager.service;
import java.awt.datatransfer.Clipboard;
import java.util.Collection;
import org.eclipse.gmf.runtime.common.core.command.ICommand;
import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
/**
*
* a paste provider has provide operation in order to paste by taking account system clipboard or papyrus clipboard
*
*/
public interface IPasteCommandProvider {
/**
* return the paste command to execute by taking account parameter
*
* @param targetEditPart
* the target where object will be paste
* @param systemClipboard
* contains info form the system copy paste
* @param papyrusCliboard
* the list of views to paste
* @return a command
*/
public ICommand getPasteViewCommand(GraphicalEditPart targetEditPart, java.awt.datatransfer.Clipboard systemClipboard, Collection<Object> papyrusCliboard);
/**
* return the paste command to execute by taking account parameter. It copy also element of the semantic model
*
* @param targetEditPart
* the target where object will be paste
* @param systemClipboard
* contains info form the system copy paste
* @param papyrusCliboard
* the list of views to paste
* @return a command
*/
public ICommand getPasteWithModelCommand(GraphicalEditPart targetEditPart, Clipboard systemClipboard, Collection<Object> papyrusCliboard);
}