X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Freactor%2FTrigger.java;h=277eeb6516461c070bf071b303d480635a3ecaf9;hb=13a4fe6bece23b3dd561de657cf9bb7ea307e2b6;hp=449b4feb505d2804236b7cb9b4ce9525e8522072;hpb=a8b6683bc4f91b409fd3ca2b21d92ef86ddd5baf;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/reactor/Trigger.java b/src/main/java/net/pterodactylus/reactor/Trigger.java index 449b4fe..277eeb6 100644 --- a/src/main/java/net/pterodactylus/reactor/Trigger.java +++ b/src/main/java/net/pterodactylus/reactor/Trigger.java @@ -17,6 +17,7 @@ package net.pterodactylus.reactor; +import net.pterodactylus.reactor.output.Output; import net.pterodactylus.reactor.states.FileState; /** @@ -25,11 +26,9 @@ import net.pterodactylus.reactor.states.FileState; * sizes but a trigger might only care about whether the file appeared or * disappeared since the last check. * - * @param - * The type of the state * @author David ‘Bombe’ Roden */ -public interface Trigger { +public interface Trigger { /** * Checks whether the given states warrant a change trigger. @@ -41,6 +40,16 @@ public interface Trigger { * @return {@code true} if the given states warrant a change trigger, * {@code false} otherwise */ - boolean triggers(S currentState, S previousState); + boolean triggers(State currentState, State previousState); + + /** + * Returns the output of this trigger. This will only return a meaningful + * value if {@link #triggers(State, State)} returns {@code true}. + * + * @param reaction + * The reaction being triggered + * @return The output of this trigger + */ + Output output(Reaction reaction); }