// Copyright 2012 Google Inc. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package org.eclipse.che.ide.util.executor; /** A scheduler that can incrementally run a task. */ public interface IncrementalScheduler { public interface Task { /** @return true if the task needs to continue */ boolean run(int workAmount); } public void schedule(Task worker); public void cancel(); public void pause(); public void resume(); public boolean isPaused(); public boolean isBusy(); public void teardown(); }