blob: eca1299ef7c737a0ffaecf80ea4f52b1842b706f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2007 Boeing.
* 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:
* Boeing - initial API and implementation
*******************************************************************************/
package org.eclipse.osee.ats.actions.wizard;
import java.util.Collection;
import org.eclipse.osee.ats.artifact.ActionableItemArtifact;
import org.eclipse.osee.ats.artifact.TeamDefinitionArtifact;
import org.eclipse.osee.ats.artifact.TeamWorkFlowArtifact;
import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
/**
* @author Donald G. Dunne
*/
public interface IAtsTeamWorkflow {
/**
* Return true if this class/plugin is responsible for the creation of the Team Workflow that will be created for the
* given Team Definition. This should be a light-weight check.
*
* @param teamDef related to the workflow to be created
* @param actionableItems that were selected for the creation
* @return true if responsible, false if not
* @throws Exception TODO
*/
public boolean isResponsibleForTeamWorkflowCreation(TeamDefinitionArtifact teamDef, Collection<ActionableItemArtifact> actionableItems) throws OseeCoreException;
/**
* Return the artifact type name for the given parameters. This method will only be called if
* isResponsibleForTeamWorkflowCreation returns true.
*
* @param teamDef related to the workflow to be created
* @param actionableItems that were selected for the creation
* @return string artifact type name
* @throws Exception TODO
*/
public String getTeamWorkflowArtifactName(TeamDefinitionArtifact teamDef, Collection<ActionableItemArtifact> actionableItems) throws OseeCoreException;
/**
* Notification that a teamWorkflow is being duplicated. This allows the extension to do necessary changes to
* duplicated workflow.
*
* @param teamArt
*/
public void teamWorkflowDuplicating(TeamWorkFlowArtifact teamArt, TeamWorkFlowArtifact dupTeamArt) throws OseeCoreException;
/**
* Notification that a teamWorkflow was created. This allows the extension to do necessary initial tasks after the
* team workflow artifact is created. All changes made to dupTeamArt will be persisted after this call.
*
* @param teamArt
*/
public void teamWorkflowCreated(TeamWorkFlowArtifact teamArt);
/**
* Return a collection of all team workflow artifact type names. These are used by ATS when searching is performed
* since there is no "inheritance" in the DB model.
*
* @return collection of all team workflow artifact type names
*/
public Collection<String> getTeamWorkflowArtifactNames() throws OseeCoreException;
}