View Javadoc

1   /*
2    *  XNap - A P2P framework and client.
3    *
4    *  See the file AUTHORS for copyright information.
5    *
6    *  This program 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.
9    *
10   *  This program is distributed in the hope that it will be useful,
11   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   *  GNU General Public License for more details.
14   *
15   *  You should have received a copy of the GNU General Public License
16   *  along with this program; if not, write to the Free Software
17   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18   */
19  
20  package org.xnap.plugin.gift.net;
21  
22  import java.awt.event.ActionEvent;
23  import java.util.Iterator;
24  
25  import javax.swing.Action;
26  
27  import org.xnap.gui.action.AbstractDownloadAction;
28  import org.xnap.search.AbstractSearchResultContainer;
29  
30  /***
31   * 
32   */
33  public class GiFTSearchResultContainer extends AbstractSearchResultContainer {
34  
35  	// --- Constants(s) ---
36  
37  	//--- Data Field(s) ---
38  
39  	GiFTDaemon daemon;
40  
41  	//--- Constructor(s) ---
42  
43  	public GiFTSearchResultContainer(GiFTDaemon daemon)
44  	{
45  		this.daemon = daemon;
46  	}
47  
48  	// --- Method(s) ---
49  
50  	public Action[] getActions() {
51  		return new Action[] { new DownloadAction() };
52  	}
53  
54  	private class DownloadAction extends AbstractDownloadAction {
55  
56  		/***
57  		 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
58  		 */
59  		public void actionPerformed(ActionEvent e) {
60  			GiFTSearchResult r = (GiFTSearchResult) getFirst();
61  			if (r != null) {
62  				daemon.getDownloadContainer(
63  					r.getFilename(),
64  					(String)r.getHash(),
65  					r.getFilesize());
66  				for (Iterator i = iterator(); i.hasNext();) {
67  					daemon.addDownload(
68  						(GiFTSearchResult) i.next());
69  				}
70  			}
71  
72  		}
73  
74  	}
75  
76  }