/***************************************************************************** * Copyright (c) 2006-2013, Cloudsmith Inc. * The code, documentation and other materials contained herein have been * licensed under the Eclipse Public License - v 1.0 by the copyright holder * listed above, as the Initial Contributor under such license. The text of * such license is available at www.eclipse.org. *****************************************************************************/ package org.eclipse.buckminster.core.actor; import org.eclipse.buckminster.core.cspec.model.Action; import org.eclipse.buckminster.core.metadata.model.IModelCache; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; /** * @author kolwing * */ public interface IActor { String getId(); String getName(); void init(Action action) throws CoreException; boolean isUpToDate(Action action, IModelCache ctx, long prerequisiteAge, long oldestInTarget) throws CoreException; IStatus perform(IActionContext ctx, IProgressMonitor monitor) throws CoreException; }