X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Freactor%2Ftriggers%2FFileExistenceTrigger.java;h=a2858434669492c606d2ac25d7df9e971e46b250;hb=13a4fe6bece23b3dd561de657cf9bb7ea307e2b6;hp=2be86ea6ee0783b821953c0c79869f4788f07458;hpb=2447518c3e5f8269f12f772c5d11dca10b3967f2;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/reactor/triggers/FileExistenceTrigger.java b/src/main/java/net/pterodactylus/reactor/triggers/FileExistenceTrigger.java index 2be86ea..a285843 100644 --- a/src/main/java/net/pterodactylus/reactor/triggers/FileExistenceTrigger.java +++ b/src/main/java/net/pterodactylus/reactor/triggers/FileExistenceTrigger.java @@ -17,15 +17,21 @@ package net.pterodactylus.reactor.triggers; +import net.pterodactylus.reactor.Reaction; +import net.pterodactylus.reactor.State; import net.pterodactylus.reactor.Trigger; +import net.pterodactylus.reactor.output.DefaultOutput; +import net.pterodactylus.reactor.output.Output; import net.pterodactylus.reactor.states.FileState; +import com.google.common.base.Preconditions; + /** * A trigger that detects changes in the existence of a file. * * @author David ‘Bombe’ Roden */ -public class FileExistenceTrigger implements Trigger { +public class FileExistenceTrigger implements Trigger { // // TRIGGER METHODS @@ -35,8 +41,18 @@ public class FileExistenceTrigger implements Trigger { * {@inheritDoc} */ @Override - public boolean triggers(FileState previousState, FileState currentState) { - return previousState.exists() != currentState.exists(); + public boolean triggers(State previousState, State currentState) { + Preconditions.checkState(previousState instanceof FileState, "previousState is not a FileState"); + Preconditions.checkState(currentState instanceof FileState, "currentState is not a FileState"); + return ((FileState) previousState).exists() != ((FileState) currentState).exists(); + } + + /** + * {@inheritDoc} + */ + @Override + public Output output(Reaction reaction) { + return new DefaultOutput("File appeared/disappeared").addText("text/plain", "File appeared/disappeared").addText("text/html", "
File appeared/disappeared
"); } }