<commit_before>package net.sf.taverna.t2.workbench.selection;

import net.sf.taverna.t2.lang.observer.Observable;
import net.sf.taverna.t2.workbench.selection.events.SelectionManagerEvent;
import net.sf.taverna.t2.workbench.selection.DataflowSelectionModel;
import net.sf.taverna.t2.workbench.ui.zaria.PerspectiveSPI;
import uk.org.taverna.scufl2.api.container.WorkflowBundle;
import uk.org.taverna.scufl2.api.core.Workflow;
import uk.org.taverna.scufl2.api.profiles.Profile;

/**
 * Manages workflowBundles, workflows, profiles and perspectives selected on the Workbench.
 *
 * @author <NAME>
 */
public interface SelectionManager extends Observable<SelectionManagerEvent> {

	/**
	 * Returns the <code>DataflowSelectionModel</code> for the WorkflowBundle.
	 *
	 * @param workflowBundle
	 *            the WorkflowBundle to return the current selection model for
	 * @return the <code>DataflowSelectionModel</code> for the WorkflowBundle
	 */
	public DataflowSelectionModel getDataflowSelectionModel(WorkflowBundle workflowBundle);

	/**
	 * Removes the <code>DataflowSelectionModel</code> for the WorkflowBundle.
	 *
	 * @param workflowBundle
	 *            the WorkflowBundle to remove the current selection model for
	 */
	public void removeDataflowSelectionModel(WorkflowBundle workflowBundle);

	/**
	 * Returns the currently selected WorkflowBundle.
	 *
	 * @return the currently selected WorkflowBundle
	 */
	public WorkflowBundle getSelectedWorkflowBundle();

	/**
	 * Sets the currently selected WorkflowBundle.
	 *
	 * @param workflowBundle
	 *            the WorkflowBundle to set as currently selected
	 */
	public void setSelectedWorkflowBundle(WorkflowBundle workflowBundle);

	/**
	 * Returns the currently selected Workflow.
	 *
	 * @return the currently selected Workflow
	 */
	public Workflow getSelectedWorkflow();

	/**
	 * Sets the currently selected Workflow.
	 *
	 * @param workflow
	 *            the Workflow to set as currently selected
	 */
	public void setSelectedWorkflow(Workflow workflow);

	/**
	 * Returns the currently selected Profile.
	 *
	 * @return the currently selected Profile
	 */
	public Profile getSelectedProfile();

	/**
	 * Sets the currently selected Profile.
	 *
	 * @param profile
	 *            the Profile to set as currently selected
	 */
	public void setSelectedProfile(Profile profile);

	/**
	 * Returns the currently selected Perspective.
	 *
	 * @return the currently selected Perspective
	 */
	public PerspectiveSPI getSelectedPerspective();

	/**
	 * Sets the currently selected Perspective.
	 * @param perspective
	 *            the Perspective to set as currently selected
	 */
	public void setSelectedPerspective(PerspectiveSPI perspective);

}<commit_msg>Added selection of workflow runs.<commit_after>package net.sf.taverna.t2.workbench.selection;

import net.sf.taverna.t2.lang.observer.Observable;
import net.sf.taverna.t2.workbench.selection.events.SelectionManagerEvent;
import net.sf.taverna.t2.workbench.selection.DataflowSelectionModel;
import net.sf.taverna.t2.workbench.ui.zaria.PerspectiveSPI;
import uk.org.taverna.scufl2.api.container.WorkflowBundle;
import uk.org.taverna.scufl2.api.core.Workflow;
import uk.org.taverna.scufl2.api.profiles.Profile;

/**
 * Manages workflowBundles, workflows, profiles and perspectives selected on the Workbench.
 *
 * @author <NAME>
 */
public interface SelectionManager extends Observable<SelectionManagerEvent> {

	/**
	 * Returns the <code>DataflowSelectionModel</code> for the WorkflowBundle.
	 *
	 * @param workflowBundle
	 *            the WorkflowBundle to return the current selection model for
	 * @return the <code>DataflowSelectionModel</code> for the WorkflowBundle
	 */
	public DataflowSelectionModel getDataflowSelectionModel(WorkflowBundle workflowBundle);

	/**
	 * Returns the currently selected WorkflowBundle.
	 *
	 * @return the currently selected WorkflowBundle
	 */
	public WorkflowBundle getSelectedWorkflowBundle();

	/**
	 * Sets the currently selected WorkflowBundle.
	 *
	 * @param workflowBundle
	 *            the WorkflowBundle to set as currently selected
	 */
	public void setSelectedWorkflowBundle(WorkflowBundle workflowBundle);

	/**
	 * Returns the currently selected Workflow.
	 *
	 * @return the currently selected Workflow
	 */
	public Workflow getSelectedWorkflow();

	/**
	 * Sets the currently selected Workflow.
	 *
	 * @param workflow
	 *            the Workflow to set as currently selected
	 */
	public void setSelectedWorkflow(Workflow workflow);

	/**
	 * Returns the currently selected Profile.
	 *
	 * @return the currently selected Profile
	 */
	public Profile getSelectedProfile();

	/**
	 * Sets the currently selected Profile.
	 *
	 * @param profile
	 *            the Profile to set as currently selected
	 */
	public void setSelectedProfile(Profile profile);

	/**
	 * Returns the currently selected workflow run.
	 * <p>
	 * If there are no workflow runs <code>null</code> is returned.
	 *
	 * @return the currently selected workflow run
	 */
	public String getSelectedWorkflowRun();

	/**
	 * Sets the currently selected workflow run.
	 * <p>
	 * May be <code>null</code> if there are no workflow runs .
	 *
	 * @param workflowRun
	 *            the workflow run to set as currently selected
	 */
	public void setSelectedWorkflowRun(String workflowRun);

	/**
	 * Returns the <code>DataflowSelectionModel</code> for the workflow run.
	 *
	 * @param workflowRun
	 *            the workflow run to return the current selection model for
	 * @return the <code>DataflowSelectionModel</code> for the workflow run
	 */
	public DataflowSelectionModel getWorkflowRunSelectionModel(String workflowRun);

		/**
	 * Returns the currently selected Perspective.
	 *
	 * @return the currently selected Perspective
	 */
	public PerspectiveSPI getSelectedPerspective();

	/**
	 * Sets the currently selected Perspective.
	 * @param perspective
	 *            the Perspective to set as currently selected
	 */
	public void setSelectedPerspective(PerspectiveSPI perspective);

}
{'fraction_non_alphanumeric': 0.08539214060686454, 'fraction_numerical': 0.002652959708174432, 'mean_word_length': 3.872374798061389, 'pattern_counts': {'":': 0, '<': 27, '<?xml version=': 0, '>': 27, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4674265', 'n_tokens_mistral': 1732, 'n_tokens_neox': 1565, 'n_words': 478}