/** * Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.engine.view.worker.trigger; /** * Trigger that indicates a fixed result once a time has passed. */ public class FixedTimeTrigger implements ViewCycleTrigger { private long _triggerTimeNanos = Long.MAX_VALUE; private ViewCycleTriggerResult _nextResult; @Override public ViewCycleTriggerResult query(long cycleTimeNanos) { if (cycleTimeNanos >= _triggerTimeNanos) { return _nextResult; } return ViewCycleTriggerResult.nothingUntil(_triggerTimeNanos); } @Override public void cycleTriggered(long cycleTimeNanos, ViewCycleType cycleType) { } public void reset() { _triggerTimeNanos = Long.MAX_VALUE; _nextResult = null; } public void set(long triggerTimeNanos, ViewCycleTriggerResult nextResult) { _triggerTimeNanos = triggerTimeNanos; _nextResult = nextResult; } @Override public String toString() { return "FixedTimeTrigger[triggerTimeNanos=" + _triggerTimeNanos + ", nextResult=" + _nextResult + "]"; } }