package com.netifera.platform.api.model; import com.netifera.platform.api.tasks.ITaskOutput; import com.netifera.platform.api.tasks.ITaskRecord; public class SpaceTaskChangeEvent implements ISpaceTaskChangeEvent { private final boolean isUpdate; private final boolean isCreation; private final ITaskRecord task; private final ITaskOutput output; public static SpaceTaskChangeEvent createUpdateEvent(ITaskRecord task) { return new SpaceTaskChangeEvent(task, null, true, false); } public static SpaceTaskChangeEvent createCreationEvent(ITaskRecord task) { return new SpaceTaskChangeEvent(task, null, false, true); } private SpaceTaskChangeEvent(ITaskRecord task, ITaskOutput output, boolean update, boolean creation) { this.task = task; this.output = output; this.isUpdate = update; this.isCreation = creation; } public ITaskRecord getTask() { return task; } public ITaskOutput getOutput() { return output; } public boolean isCreationEvent() { return isCreation; } public boolean isUpdateEvent() { return isUpdate; } public boolean isOutputEvent() { return output != null; } }