♻️ Move output generation to state
[rhynodge.git] / src / main / java / net / pterodactylus / rhynodge / triggers / FileStateModifiedTrigger.java
index ed24d9e..f1f114f 100644 (file)
@@ -34,24 +34,28 @@ import net.pterodactylus.rhynodge.states.FileState;
  */
 public class FileStateModifiedTrigger implements Trigger {
 
+       /** Whether a change was triggered. */
+       private boolean triggered;
+
        /**
         * {@inheritDoc}
         */
        @Override
-       public boolean triggers(State currentState, State previousState) {
+       public State mergeStates(State previousState, State currentState) {
                checkState(currentState instanceof FileState, "currentState is not a FileState but a %s", currentState.getClass());
                checkState(previousState instanceof FileState, "previousState is not a FileState but a %s", currentState.getClass());
                FileState currentFileState = (FileState) currentState;
                FileState previousFileState = (FileState) previousState;
-               return (currentFileState.exists() != previousFileState.exists()) || (currentFileState.size() != previousFileState.size()) || (currentFileState.modificationTime() != previousFileState.modificationTime());
+               triggered = (currentFileState.exists() != previousFileState.exists()) || (currentFileState.size() != previousFileState.size()) || (currentFileState.modificationTime() != previousFileState.modificationTime());
+               return currentState;
        }
 
        /**
         * {@inheritDoc}
         */
        @Override
-       public Output output(Reaction reaction) {
-               return new DefaultOutput("File modified").addText("text/plain", "File modified").addText("text/html", "<div>File modified</div>");
+       public boolean triggers() {
+               return triggered;
        }
 
 }