/*
* WPCleaner: A tool to help on Wikipedia maintenance tasks.
* Copyright (C) 2013 Nicolas Vervelle
*
* See README.txt file for licensing information.
*/
package org.wikipediacleaner.api.execution;
import java.util.concurrent.Callable;
import org.wikipediacleaner.api.API;
import org.wikipediacleaner.api.MediaWikiListener;
import org.wikipediacleaner.api.constants.EnumWikipedia;
/**
* A base implementation of Callable for MediaWiki.
*/
public abstract class MediaWikiCallable<T> implements Callable<T>, MediaWikiListener {
private final EnumWikipedia wikipedia;
protected final API api;
private final MediaWikiListener listener;
/**
* @param wikipedia Wikipedia.
* @param listener Listener.
* @param api API.
*/
public MediaWikiCallable(EnumWikipedia wikipedia, MediaWikiListener listener, API api) {
this.wikipedia = wikipedia;
this.listener = listener;
this.api = api;
}
@Override
public void setText(String text) {
if (listener != null) {
listener.setText(text);
}
}
@Override
public boolean shouldStop() {
if (listener != null) {
return listener.shouldStop();
}
return false;
}
protected EnumWikipedia getWikipedia() {
return wikipedia;
}
}