X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Freactor%2Ftriggers%2FFileExistenceTrigger.java;h=f3464e94efcfa7ad0449a7e6dfbc216b64b0b7f4;hb=9cd054fb2fec1c2a1f0f24b3b88f477720563094;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..f3464e9 100644 --- a/src/main/java/net/pterodactylus/reactor/triggers/FileExistenceTrigger.java +++ b/src/main/java/net/pterodactylus/reactor/triggers/FileExistenceTrigger.java @@ -17,15 +17,20 @@ package net.pterodactylus.reactor.triggers; +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 +40,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() { + return new DefaultOutput("File appeared/disappeared").addText("text/plain", "File appeared/disappeared").addText("text/html", "
File appeared/disappeared
"); } }