/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.integration.tool.portfolio.xml; /** * Converts version-specific portfolio data, to a generic form that can be used * to load data into the rest of the system. Using this interface means that the * code for all the version-specific parsing can be segregated from the rest of * the system. i.e. we can use a single loader for all versions of the schema. * * @param <T> the type of the content that has been parsed from the XML file. This * will depend on the schema version that has been used for the parsing. */ public interface PortfolioDocumentConverter<T> { /** * Convert the parsed xml content to a version-neutral form containing * portfolios, positions, trades and securities. * * @param content the content which has been parsed. * @return a collection of portfolios (with all their associated data) */ Iterable<VersionedPortfolioHandler> convert(T content); }