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.commons.pkg;
21
22 import java.util.Iterator;
23
24 /***
25 */
26 public interface DependencyNode
27 {
28
29 //--- Method(s) ---
30
31 Iterator children();
32
33 Object getID();
34
35 boolean isRequired();
36
37 /***
38 * Marks the node as required.
39 *
40 * @return true, if all dependencies are satisfied; false, otherwise
41 */
42 void require(boolean requireInstalled)
43 throws UnsatisfiedDependenciesException;
44
45 /***
46 * Marks the node as required. Does not check the dependencies.
47 */
48 void setRequired(boolean required);
49
50 }
51