sorry to re-open this thread, but I am facing the same problem of Nicolás. I like both yours (Doğacan) and Nicolas' ideas, more yours as I think abstract
classes are not good extension points.

That wasn't what I had proposed. My suggestion was to use an interface, as always, but made this API real clean, expressing the minimum the rest of the code needs from a scoring plugin, removing assumptions about its implementation. Then I've proposed to have an abstract class, implementing this interface, with a skeleton for any class which works "distributing score to outlinks". So we would have the best of both worlds: People creating new "PageRank" algorithms wouldn't need to reimplement anuything, they would just subclass the abstract class. And people like you and me would directly implement the interface (or use a different abstract class if there's common logic to share). My boss put all of this on hold, but I'd like to implement this idea in a near future and try to have it included in Nutch.

Reply via email to