/** * Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.product; /** * A template used to create a trade. * <p> * A template contains almost all the information necessary to create a trade. * The missing elements are likely to include the trade date and market price. * As such, it is often possible to get a market price for a trade based on the template. * <p> * A template is typically built on an underlying {@link TradeConvention}, however this is not required. * <p> * Each implementation should provide a method with the name {@code toTrade} with * whatever arguments are necessary to complete the trade. * <p> * Implementations must be immutable and thread-safe beans. */ public interface TradeTemplate { }