View Javadoc

1   /*
2    * Copyright (c) 2003-2008 by Cosylab d. d.
3    *
4    * This file is part of CosyBeans.
5    *
6    * CosyBeans is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU General Public License as published by
8    * the Free Software Foundation, either version 3 of the License, or
9    * (at your option) any later version.
10   *
11   * CosyBeans is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   *
16   * You should have received a copy of the GNU General Public License
17   * along with CosyBeans.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  
20  package com.cosylab.gui.displayers;
21  
22  import com.cosylab.util.CommonException;
23  
24  
25  /**
26   * <p>
27   * <code>NumericAsynchronousConsumer</code> is consumer, which receives update
28   * request and returns some time later respons with detail information about
29   * request. Update method itself returns immediatelly.
30   * </p>
31   * 
32   * <p>
33   * This asynchronous consumer is specialized for consumers, which will use
34   * target value as <code>Number</code>.
35   * </p>
36   * 
37   * <p>
38   * This interface is intended to be used by <code>DataSource</code>. Displayer
39   * which want to notify data source about value changes done by user need to
40   * implement <code>DataSource</code> which supports this type of consumer.
41   * </p>
42   *
43   * @author <a href="mailto:igor.kriznar@cosylab.com">Igor Kriznar</a>
44   * @version $Id: AsynchronousObjectConsumer.java,v 1.3 2008-04-22 12:31:02 jbobnar Exp $
45   *
46   * @see com.cosylab.gui.displayers.UpdateRequest#getTargetValue()
47   * @since Dec 3, 2003.
48   */
49  public interface AsynchronousObjectConsumer extends DataConsumer
50  {
51  	/**
52  	 * Calls asynchronous update on this data consumer. Data consumer must
53  	 * return this call as soon as possible and inform
54  	 * <code>UpdateRequestListener</code> inside <code>UpdateRequest</code>
55  	 * about response.
56  	 *
57  	 * @param request the update request, holds
58  	 *        <code>UpdateRequestlistener</code> which asynchronously receives
59  	 *        reponse
60  	 */
61  	public void updateAcynchronously(UpdateRequest request)
62  		throws CommonException;
63  }
64  
65  /* __oOo__ */