/* * Page.java * * Created on den 9 oktober 2002, 13:25 */ import java.util.*; /** * * @author h&m */ public class Page { private double PR; private int outgoing; private Collection ingoing = new Vector(); private String name; private static double d = 0.15; /** Creates a new instance of Page */ public Page(String name, int outgoing, double initialPR) { this.outgoing = outgoing; PR = initialPR; this.name = name; } /** Creates a new instance of Page */ public Page(String name, int outgoing) { this(name, outgoing, 1); } /** Creates a new instance of Page */ public Page(String name) { this(name, 0, 1); } public void incOutgoing() { outgoing++; } public String toString() { return name + ": " + PR; } public double getPR() { return PR; } public void addIngoing(Page p) { ingoing.add(p); } private double getVote() { return PR / outgoing; } public static void setD(double d) { Page.d = d; } boolean calculatePR() { double tmp = d; double trans = 0; Iterator iter = ingoing.iterator(); while(iter.hasNext()) { Page p = (Page) iter.next(); trans += p.getVote(); } tmp += (1- d) * trans; boolean retv = true; if(tmp != PR) retv = false; PR = tmp; return retv; } }