|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--LockedFifo | +--WebFifo
Classe (particulière à l'application du crawler) implémentant une pile FIFO spécialisée dans la
manipulation d'objet de type PageWeb
.
Un seul objet de ce type est partagé entre tous les processus de navigation (NavThread
).
Il est donc important que ceux-ci puissent accéder à la pile de façon concurente. De plus losrque la
pile est vide, les processus demandant une nouvelle page web sont mis en attente.
Remarque: Dans cette page on appelle 'page web' un ensemble constitué par l'url d'une page html et
sa profondeur par rapport à une page de démarrage du crawler. Concrètement ces informations sont
contenues dans des objets de type PageWeb
.
PageWeb
Field Summary | |
protected int |
depth_max
Stocke la profondeur maximale de recherche autorisée. |
Fields inherited from class LockedFifo |
DEF_TAILLE, liste, sem, taille, taille_max |
Constructor Summary | |
WebFifo()
Construit un nouvel objet WebFifo ayant la taille par défaut. |
|
WebFifo(int depth_max)
Construit un nouvel objet WebFifo ayant la taille par défaut. |
|
WebFifo(int depth_max,
int taille_max)
Construit un nouvel objet WebFifo ayant la taille spécifiée en argument. |
Method Summary | |
PageWeb |
getPage(java.lang.String nom_proc)
Retourne la page web en bas de la pile et la supprime de la pile. |
int |
put(PageWeb pw)
Insére une page web en haut de la pile. |
Methods inherited from class LockedFifo |
get, get, put |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected int depth_max
Constructor Detail |
public WebFifo()
WebFifo
ayant la taille par défaut.Ce constructeur se contente de faire appel au constructeur sans paramètre de la classe mère et ne pose aucune limite de profondeur d'exploration.
public WebFifo(int depth_max) throws java.lang.IllegalArgumentException
WebFifo
ayant la taille par défaut.
depth_max
- profondeur maximale d'exploration à partir d'une des pages de démarrage du crawler.
java.lang.IllegalArgumentException
- Si jamais la valeur passée en argument est < 0.depth_max
public WebFifo(int depth_max, int taille_max) throws java.lang.IllegalArgumentException
WebFifo
ayant la taille spécifiée en argument.
depth_max
- profondeur maximale d'exploration à partir d'une des pages de démarrage du crawler.taille_max
- la capacité maximale de la pile FIFO
java.lang.IllegalArgumentException
- Si:
depth_max
en argument est < 0.
taille_max
en argument est < 1.depth_max
Method Detail |
public PageWeb getPage(java.lang.String nom_proc)
Remarque: cette méthode se contente de caster le résultat de la méthode Object get()
de la classe mère.
nom_proc
- Le nom du processus voulant accéder à la pile (util pour connaître l'état de
celui-ci).null
aucun message n'est affiché.
LockedFifo.get(String)
public int put(PageWeb pw)
Avant d'insérer réellement la page dans la pile (ie de faire appel à la méthode put(Object)
de la classe mère), cette méthode fait deux vérifications:
pw
- la nouvelle page web à insérer
LockedFifo.put(Object)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |