/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.engine.view.cycle; import java.util.Collection; import java.util.Map; import java.util.Set; import org.threeten.bp.Instant; import com.opengamma.engine.ComputationTargetSpecification; import com.opengamma.engine.value.ValueRequirement; import com.opengamma.engine.value.ValueSpecification; import com.opengamma.id.UniqueId; import com.opengamma.id.VersionCorrection; import com.opengamma.util.PublicAPI; /** * Contains metadata about a {@link ViewCycle}. */ @PublicAPI public interface ViewCycleMetadata { /** * Gets the unique identifier of the view cycle. * * @return the unique identifier of the view cycle, not null */ UniqueId getViewCycleId(); /** * Gets the calculation configuration names. * * @return the calculation configuration names, not null */ Collection<String> getAllCalculationConfigurationNames(); /** * Gets the computation targets for a given calculation configuration. * * @param configurationName the calculation configuration name, not null * @return the computation targets for the given calculation configuration name, null if not found */ Collection<ComputationTargetSpecification> getComputationTargets(String configurationName); /** * Gets the terminal outputs for a given calculation configuration. * * @param configurationName the calculation configuration name, not null * @return the terminal outputs for the given calculation configuration name, null if not found */ Map<ValueSpecification, Set<ValueRequirement>> getTerminalOutputs(String configurationName); /** * Gets the unique identifier associated with the market data snapshot used in the cycle. * * @return the unique identifier of the market data snapshot */ UniqueId getMarketDataSnapshotId(); /** * Gets the valuation time used in the cycle. * * @return the valuation time, not null */ Instant getValuationTime(); /** * Gets the version-correction used in the cycle. * * @return the version-correction, not null */ VersionCorrection getVersionCorrection(); /** * Gets the unique identifier of the view definition referenced by the cycle. * * @return the unique identifier of the view definition, not null */ UniqueId getViewDefinitionId(); /** * Gets the name of the view cycle, if one is defined * * @return the name of the view cycle. Can be null. */ String getName(); }