/**
* Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.marketdata;
import org.threeten.bp.Instant;
import com.opengamma.engine.value.ValueSpecification;
import com.opengamma.id.UniqueId;
/**
* Mock {@link MarketDataSnapshot}
*/
public class MockMarketDataSnapshot extends AbstractMarketDataSnapshot {
private final Instant _snapshotTime = Instant.now();
private final MockMarketDataProvider _provider;
public MockMarketDataSnapshot(final MockMarketDataProvider provider) {
_provider = provider;
}
@Override
public UniqueId getUniqueId() {
return UniqueId.of(MARKET_DATA_SNAPSHOT_ID_SCHEME, "MockMarketDataSnapshot:" + getSnapshotTime());
}
@Override
public boolean isInitialized() {
return true;
}
@Override
public boolean isEmpty() {
return false;
}
@Override
public Instant getSnapshotTimeIndication() {
return _snapshotTime;
}
@Override
public Instant getSnapshotTime() {
return _snapshotTime;
}
@Override
public Object query(final ValueSpecification specification) {
_provider.incrementQueryCount();
return _provider.getValue(specification);
}
}