mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-24 21:29:00 +00:00

Look, this will make the git history look funny, but trimming unnecessary depth from the source tree is a very necessary sanity-preserving measure when dealing with a super-modularized codebase like this one. While it makes the project configuration a bit less conventional, it will save you several clicks every time you jump between modules. Which you'll do a lot, because it's *modul*ar. The src/main/java convention makes a lot of sense for a non-modular project though. This ain't that.
25 lines
591 B
Java
25 lines
591 B
Java
package nu.marginalia.tools;
|
|
|
|
import nu.marginalia.crawling.io.SerializableCrawlDataStream;
|
|
|
|
import java.io.IOException;
|
|
import java.util.HashSet;
|
|
import java.util.Set;
|
|
|
|
public abstract class Experiment {
|
|
protected Set<String> domains = new HashSet<>();
|
|
|
|
public void args(String... args) {
|
|
for (String domain : args) {
|
|
domains.add(domain.toLowerCase());
|
|
}
|
|
}
|
|
|
|
public abstract boolean process(SerializableCrawlDataStream dataStream) throws IOException;
|
|
|
|
/** Invoked after all domains are processed
|
|
*
|
|
*/
|
|
public void onFinish() {}
|
|
}
|