// NPCTE fix for bugId 4510777, esc 532372, MR October 2001
// file Task.java created for this bug fix
/*
 * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */
package com.sun.jmx.snmp.tasks;

This interface is implemented by objects that can be executed by a TaskServer.

A Task object implements two methods:

  • public void run(): from Runnable
    • This method is called by the TaskServer when the task is executed.
  • public void cancel():
    • This method is called by the TaskServer if the TaskServer is stopped before the Task is executed.
An implementation of TaskServer shall call either run() or cancel(). Whether the task is executed synchronously in the current thread (when calling TaskServer.submitTask() or in a new thread dedicated to the task, or in a daemon thread, depends on the implementation of the TaskServer through which the task is executed.

The implementation of Task must not make any assumption on the implementation of the TaskServer through which it will be executed.

This API is a Sun Microsystems internal API and is subject to change without notice.

See Also:
Since:1.5
/** * This interface is implemented by objects that can be executed * by a {@link com.sun.jmx.snmp.tasks.TaskServer}. * <p>A <code>Task</code> object implements two methods: * <ul><li><code>public void run(): </code> from * {@link java.lang.Runnable}</li> * <ul>This method is called by the {@link com.sun.jmx.snmp.tasks.TaskServer} * when the task is executed.</ul> * <li><code>public void cancel(): </code></li> * <ul>This method is called by the {@link com.sun.jmx.snmp.tasks.TaskServer} * if the <code>TaskServer</code> is stopped before the * <code>Task</code> is executed.</ul> * </ul> * An implementation of {@link com.sun.jmx.snmp.tasks.TaskServer} shall call * either <code>run()</code> or <code>cancel()</code>. * Whether the task is executed synchronously in the current * thread (when calling <code>TaskServer.submitTask()</code> or in a new * thread dedicated to the task, or in a daemon thread, depends on the * implementation of the <code>TaskServer</code> through which the task * is executed. * <p>The implementation of <code>Task</code> must not make any * assumption on the implementation of the <code>TaskServer</code> through * which it will be executed. * <p><b>This API is a Sun Microsystems internal API and is subject * to change without notice.</b></p> * @see com.sun.jmx.snmp.tasks.TaskServer * * @since 1.5 **/
public interface Task extends Runnable {
Cancel the submitted task. The implementation of this method is Task-implementation dependent. It could involve some message logging, or even call the run() method. Note that only one of run() or cancel() will be called - and exactly one.
/** * Cancel the submitted task. * The implementation of this method is Task-implementation dependent. * It could involve some message logging, or even call the run() method. * Note that only one of run() or cancel() will be called - and exactly * one. **/
public void cancel(); }