View Javadoc

1   /*
2    *  
3    *  Fosstrak LLRP Commander (www.fosstrak.org)
4    * 
5    *  Copyright (C) 2008 ETH Zurich
6    *
7    *  This program is free software: you can redistribute it and/or modify
8    *  it under the terms of the GNU General Public License as published by
9    *  the Free Software Foundation, either version 3 of the License, or
10   *  (at your option) any later version.
11   *
12   *  This program is distributed in the hope that it will be useful,
13   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   *  GNU General Public License for more details.
16   *
17   *  You should have received a copy of the GNU General Public License
18   *  along with this program.  If not, see <http://www.gnu.org/licenses/> 
19   *
20   */
21  
22  package org.fosstrak.llrp.adaptor;
23  
24  import java.rmi.Remote;
25  import java.rmi.RemoteException;
26  
27  import org.fosstrak.llrp.adaptor.exception.LLRPRuntimeException;
28  
29  /**
30   * if you want to receive asynchronous message notifications 
31   * you can implement this interface.
32   * @author sawielan
33   *
34   */
35  public interface AsynchronousNotifiable extends Remote {
36  	/**
37  	 * when an asynchronous message arrived, this method will be invoked.
38  	 * @param message the LLRPMessage arrived asynchronously.
39  	 * @param readerName the nam eof the reader that read the message.
40  	 * @throws RemoteException when there has been an error in the communication.
41  	 */
42  	public void notify(byte[] message, String readerName) throws RemoteException;
43  	
44  	/**
45  	 * this method can be called asynchronously when 
46  	 * there occurs an asynchronous error or exception.
47  	 * @param e the exception that was triggered.
48  	 * @param readerName the name of the reader that triggered the error.
49  	 * @throws RemoteException when there has been an error in the communication.
50  	 */
51  	public void notifyError(LLRPRuntimeException e, String readerName) throws RemoteException;
52  }