1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package org.archive.hcc;
24
25 import java.util.Collection;
26 import java.util.LinkedList;
27
28 import javax.management.ObjectName;
29
30 /***
31 * Represents the relationship between a container and the crawlers "container"
32 * by it.
33 * @author Daniel Bernstein (dbernstein@archive.org)
34 */
35 class Container {
36 private ObjectName name;
37
38 private Collection<Crawler> crawlers = new LinkedList<Crawler>();
39
40 private int maxInstances = 1;
41
42 public Container(ObjectName name, int maxInstances) {
43 super();
44 this.name = name;
45 this.maxInstances = maxInstances;
46 }
47
48 public Collection<Crawler> getCrawlers() {
49 return crawlers;
50 }
51
52 public ObjectName getName() {
53 return name;
54 }
55
56 public void addCrawler(Crawler crawler) {
57 crawler.removeFromParent();
58 this.crawlers.add(crawler);
59 crawler.setParent(this);
60 }
61
62 public int getMaxInstances() {
63 return maxInstances;
64 }
65
66 public void setMaxInstances(int maxInstances) {
67 this.maxInstances = maxInstances;
68 }
69 }