/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.integration.viewer.status.impl;
import java.util.Map;
import java.util.Set;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import com.google.common.collect.Maps;
import com.opengamma.integration.viewer.status.ViewStatus;
import com.opengamma.integration.viewer.status.ViewStatusKey;
import com.opengamma.integration.viewer.status.impl.ViewStatusResultAggregatorImpl.ImmutableViewStatusKey;
import com.opengamma.util.ArgumentChecker;
/**
* Per view status result for a security type.
*/
public class PerViewStatusResult {
private final String _securityType;
private final Map<ViewStatusKey, ViewStatus> _viewStatusResult = Maps.newConcurrentMap();
public PerViewStatusResult(String securityType) {
ArgumentChecker.notNull(securityType, "securityType");
_securityType = securityType;
}
public void put(ViewStatusKey key, ViewStatus status) {
ArgumentChecker.notNull(key, "key");
ArgumentChecker.notNull(status, "status");
_viewStatusResult.put(ImmutableViewStatusKey.of(key), status);
}
public ViewStatus get(ViewStatusKey key) {
if (key == null) {
return null;
} else {
return _viewStatusResult.get(ImmutableViewStatusKey.of(key));
}
}
public Set<ViewStatusKey> keySet() {
return _viewStatusResult.keySet();
}
/**
* Gets the securityType.
* @return the securityType
*/
public String getSecurityType() {
return _securityType;
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
}
}