import net.pterodactylus.rhynodge.states.HtmlState;
import com.google.common.base.Optional;
+import org.jetbrains.annotations.NotNull;
import org.jsoup.nodes.Document;
/**
*/
public abstract class ComicSiteFilter implements Filter {
+ @NotNull
@Override
- public State filter(State state) {
+ public State filter(@NotNull State state) {
checkArgument(state instanceof HtmlState, "state must be an HTML state");
/* initialize states: */
List<String> imageComments = extractImageComments(htmlState.document());
/* store comic, if found, into state. */
- if (!title.isPresent() || imageUrls.isEmpty()) {
+ if (imageUrls.isEmpty()) {
return new FailedState();
}
ComicState comicState = new ComicState();
- Comic comic = new Comic(title.get());
+ Comic comic = new Comic(title.or(""));
int imageCounter = 0;
for (String imageUrl : imageUrls) {
String imageComment = (imageCounter < imageComments.size()) ? imageComments.get(imageCounter) : "";