/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.id; import com.opengamma.util.PublicAPI; /** * Provides uniform access to {@code ExternalId} and a {@code ExternalIdBundle}. * <p> * This differs from {@link ExternalBundleIdentifiable} because this is only implemented * by the two identifier classes themselves. * <p> * This interface makes no guarantees about the thread-safety of implementations. * However, wherever possible calls to this method should be thread-safe. */ @PublicAPI public interface ExternalIdOrBundle { /** * Gets the external identifier bundle that defines the object. * <p> * Each external system has one or more identifiers by which they refer to the object. * Some of these may be unique within that system, while others may be more descriptive. * This bundle stores the set of these external identifiers. * * @return the bundle defining the object, not null */ ExternalIdBundle toBundle(); }