X-Git-Url: https://git.pterodactylus.net/?p=rhynodge.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Ftriggers%2FFileStateModifiedTrigger.java;h=7b3026ca710ca741393df9593af9a0d41a480fd6;hp=ed24d9e5449a22a86aa9d7d9c7c189a6c4704079;hb=9c01d55d3969a1b3df6529df0c64d4feb146fe4d;hpb=9871b8a902d59f6e8eade050d18c77026b6ecc60 diff --git a/src/main/java/net/pterodactylus/rhynodge/triggers/FileStateModifiedTrigger.java b/src/main/java/net/pterodactylus/rhynodge/triggers/FileStateModifiedTrigger.java index ed24d9e..7b3026c 100644 --- a/src/main/java/net/pterodactylus/rhynodge/triggers/FileStateModifiedTrigger.java +++ b/src/main/java/net/pterodactylus/rhynodge/triggers/FileStateModifiedTrigger.java @@ -34,16 +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 boolean triggers() { + return triggered; } /**