/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.security.summary; import java.util.HashMap; import java.util.Map; import com.opengamma.core.security.Security; /** * Implements a builder pattern for a {@link Summary}. */ public class SummaryBuilder { private final Map<SummaryField, Object> _fieldMap = new HashMap<SummaryField, Object>(); public static SummaryBuilder create(Security security) { return new SummaryBuilder().with(SummaryField.TYPE, security.getSecurityType()); } public static SummaryBuilder error(String message) { return new SummaryBuilder(); } public SummaryBuilder with(SummaryField field, Object value) { _fieldMap.put(field, value); return this; } public Summary build() { return new Summary(_fieldMap); } }