🎨 Replace QC filter with Kotlin version
[rhynodge.git] / src / main / java / net / pterodactylus / rhynodge / triggers / AlwaysTrigger.java
index 5def993..b916237 100644 (file)
@@ -22,6 +22,7 @@ import net.pterodactylus.rhynodge.State;
 import net.pterodactylus.rhynodge.Trigger;
 import net.pterodactylus.rhynodge.output.DefaultOutput;
 import net.pterodactylus.rhynodge.output.Output;
+import net.pterodactylus.rhynodge.states.OutputState;
 
 /**
  * {@link Trigger} implementation that always triggers.
@@ -30,6 +31,8 @@ import net.pterodactylus.rhynodge.output.Output;
  */
 public class AlwaysTrigger implements Trigger {
 
+       private State currentState;
+
        /**
         * {@inheritDoc}
         * <p>
@@ -37,6 +40,7 @@ public class AlwaysTrigger implements Trigger {
         */
        @Override
        public State mergeStates(State previousState, State currentState) {
+               this.currentState = currentState;
                return currentState;
        }
 
@@ -55,7 +59,18 @@ public class AlwaysTrigger implements Trigger {
         */
        @Override
        public Output output(Reaction reaction) {
-               return new DefaultOutput("true").addText("text/plain", "true").addText("text/html", "<div>true</div>");
+               DefaultOutput output = new DefaultOutput(reaction.name());
+               if (currentState instanceof OutputState) {
+                       OutputState outputState = (OutputState) currentState;
+                       if (outputState.plainTextOutput().isPresent()) {
+                               output = output.addText("text/plain", outputState.plainTextOutput().get());
+                       }
+                       if (outputState.htmlOutput().isPresent()) {
+                               output = output.addText("text/html", outputState.htmlOutput().get());
+                       }
+                       return output;
+               }
+               return output.addText("text/plain", "true").addText("text/html", "<div>true</div>");
        }
 
 }