All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 * Copyright (c) 2003, 2006 IBM Corporation and others.
 * 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:
 * IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.wst.common.frameworks.datamodel;

import org.eclipse.core.commands.operations.IUndoableOperation;
import org.eclipse.core.runtime.jobs.ISchedulingRule;
import org.eclipse.wst.common.environment.IEnvironment;

/**
 * 

* IDataModelOperation defines an IDataModel driven undoable operation. Every IDataModelOperation * may be extended by third party clients using the extended operation framework. *

* *

* This interface is not intended to be implemented by clients. Clients should subclass * {@link AbstractDataModelOperation}. *

* * @see org.eclipse.wst.common.frameworks.datamodel.IDataModel * * @since 1.0 */ public interface IDataModelOperation extends IUndoableOperation { /** *

* Sets the unique operation id. Typically, clients should not invoke this method. *

* * @param id * the unique operation id */ public void setID(String id); /** *

* Returns the unique operation id. *

* * @return the unique operation id */ public String getID(); /** *

* Sets the IDataModel for this operation. *

* * @param model * the IDataModel used to run this operation */ public void setDataModel(IDataModel model); /** *

* Returns this operation's IDataModel. *

* * @return this operation's IDataModel. */ public IDataModel getDataModel(); /** *

* Returns the ISchedulingRule used for executing this job using * {@link org.eclipse.core.resources.IWorkspace#run(org.eclipse.core.resources.IWorkspaceRunnable, ISchedulingRule, int, org.eclipse.core.runtime.IProgressMonitor)}. * If null is returned, then IWorkspace.getRoot() is used as the ISchedulingRule * during execution. *

* * @return the ISchedulingRule * * @see #getOperationExecutionFlags() * @see org.eclipse.core.resources.IWorkspace#run(org.eclipse.core.resources.IWorkspaceRunnable, ISchedulingRule, int, * org.eclipse.core.runtime.IProgressMonitor) */ public ISchedulingRule getSchedulingRule(); /** *

* Returns the OperationExecutionFlags used for executing this Operation as a workspace job. * {@link org.eclipse.core.resources.IWorkspace#run(org.eclipse.core.resources.IWorkspaceRunnable, ISchedulingRule, int, org.eclipse.core.runtime.IProgressMonitor)}. *

* * @return the OperationExecutionFlags * * @see #getSchedulingRule() * @seeorg.eclipse.core.resources.IWorkspace#run(org.eclipse.core.resources.IWorkspaceRunnable, ISchedulingRule, int, * org.eclipse.core.runtime.IProgressMonitor) */ public int getOperationExecutionFlags(); /** *

* The framework will set the environment on this operation before it is executed. The operation * can then use the environment to report status, log information, and access resources in an * environment neutral way. *

* * @param environment * the IEnvironment to set. */ public void setEnvironment(IEnvironment environment); /** * Returns the IEvironment set in {@link #setEnvironment(IEnvironment)}} * * @return the set IEnvironment * * @see #setEnvironment(IEnvironment) */ public IEnvironment getEnvironment(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy