// BEGIN LICENSE BLOCK // Version: CMPL 1.1 // // The contents of this file are subject to the Cisco-style Mozilla Public // License Version 1.1 (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License // at www.eclipse-clp.org/license. // // Software distributed under the License is distributed on an "AS IS" // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See // the License for the specific language governing rights and limitations // under the License. // // The Original Code is The ECLiPSe Constraint Logic Programming System. // The Initial Developer of the Original Code is Cisco Systems, Inc. // Portions created by the Initial Developer are // Copyright (C) 2000 - 2006 Cisco Systems, Inc. All Rights Reserved. // // Contributor(s): Stefano Novello / Josh Singer, Parc Technologies // // END LICENSE BLOCK //Title: Java/ECLiPSe interface //Version: $Id: QueueListener.java,v 1.1 2006/09/23 01:54:11 snovello Exp $ //Author: Josh Singer / Stefano Novello //Company: Parc Technologies //Description: Interface for queue handlers. package com.parctechnologies.eclipse; /** * Interface for handlers of incoming data or data requests on queues. * Any object which implements QueueListener can be * attached to a {@link FromEclipseQueue} or a {@link ToEclipseQueue} using the * setListener() methods of those classes.

* If attached to a FromEclipseQueue, when ECLiPSe * flushes the queue, * the dataAvailable() method is called with the flushed FromEclipseQueue as the * source parameter.

* If attached to a ToEclipseQueue, when ECLiPSe * tries to read data from that queue and it is empty, * the dataRequest() method is called with the ToEclipseQueue as the * source parameter. */ public interface QueueListener { /** * Called with FromEclipseQueue as source when the * QueueListener is attached and ECLiPSe flushes the queue. If used * with an instance of RemoteEclipse, the resume() * method should not be invoked during dataAvailable(). */ public void dataAvailable(Object source); /** * Called with ToEclipseQueue as source when the * QueueListener is attached and ECLiPSe tries to read data from * the queue when it is empty. If used * with an instance of RemoteEclipse, the resume() * method should not be invoked during dataRequest(). */ public void dataRequest(Object source); }