/**
* Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.sesame.marketdata;
import java.util.Map;
import java.util.Set;
import com.google.common.collect.ImmutableMap;
import com.opengamma.util.result.FailureStatus;
import com.opengamma.util.result.Result;
/**
* Market data factory that never returns any data.
*/
public class EmptyMarketDataFactory implements MarketDataFactory<EmptyMarketDataSpec> {
@Override
public Class<EmptyMarketDataSpec> getSpecificationType() {
return EmptyMarketDataSpec.class;
}
@Override
public MarketDataSource create(EmptyMarketDataSpec spec) {
return new DataSource();
}
/**
* Data source that never returns any data.
*/
public static class DataSource implements MarketDataSource {
@Override
public Map<MarketDataRequest, Result<?>> get(Set<MarketDataRequest> requests) {
ImmutableMap.Builder<MarketDataRequest, Result<?>> builder = ImmutableMap.builder();
for (MarketDataRequest request : requests) {
builder.put(request, Result.failure(FailureStatus.MISSING_DATA, "No data available for {}", request));
}
return builder.build();
}
}
}