/*
* 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.check;
import java.util.List;
import org.wikipediacleaner.api.check.algorithm.CheckErrorAlgorithm;
import org.wikipediacleaner.api.data.Page;
/**
* Information about an error type for a page.
*/
public class CheckErrorPage {
private final CheckErrorAlgorithm algorithm;
private final Page page;
private final boolean inWhiteList;
private boolean errorFound;
private List<CheckErrorResult> results;
/**
* @param page Page.
* @param algorithm Algorithm.
*/
public CheckErrorPage(Page page, CheckErrorAlgorithm algorithm) {
this.page = page;
this.algorithm = algorithm;
this.inWhiteList = ((page != null) && (algorithm != null)) ?
algorithm.isInWhiteList(page.getTitle()) : false;
this.errorFound = false;
this.results = null;
}
/**
* @return Page.
*/
public Page getPage() {
return page;
}
/**
* @return Algorithm.
*/
public CheckErrorAlgorithm getAlgorithm() {
return algorithm;
}
/**
* @return Page in white list ?
*/
public boolean isInWhiteList() {
return inWhiteList;
}
/**
* @param errorFound Flag indicating if errors have been found.
* @param results Results.
*/
public void setResults(
boolean errorFound,
List<CheckErrorResult> results) {
this.errorFound = errorFound;
this.results = results;
}
/**
* @return Flag indicating if errors have been found.
*/
public boolean getErrorFound() {
return errorFound;
}
/**
* @return Results.
*/
public List<CheckErrorResult> getResults() {
return results;
}
/**
* @return Results count.
*/
public int getResultsCount() {
if (results == null) {
return 0;
}
return results.size();
}
/**
* @return Active results count.
*/
public int getActiveResultsCount() {
if (results == null) {
return 0;
}
int count = 0;
for (CheckErrorResult result : results) {
if ((result.getErrorLevel() == CheckErrorResult.ErrorLevel.ERROR) ||
(result.getErrorLevel() == CheckErrorResult.ErrorLevel.WARNING)) {
count++;
}
}
return count;
}
/**
* @return String representation.
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
if (page != null) {
return page.toString();
}
return "?";
}
}