/** * Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.core.marketdatasnapshot; import com.opengamma.id.UniqueId; import com.opengamma.id.UniqueIdentifiable; /** * A common interface to support handling both the old-style * {@code StructuredMarketDataSnapshot} and the new, more specific * snapshots. */ public interface NamedSnapshot extends UniqueIdentifiable { /** * Gets the name of the snapshot. * * @return the name, not null */ String getName(); /** * Create a version of this snapshot with the unique id set to the * supplied value. Ideally, mutable implementations would return a * copy but this interface does not make this restriction. * <p> * This is intended for use by masters when inserting new snapshots. * * @param uniqueId the new value for the unique id, not null * @return a copy of this snapshot, not null */ NamedSnapshot withUniqueId(UniqueId uniqueId); }