/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.engine.cache; import java.io.Serializable; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; import com.opengamma.id.UniqueId; import com.opengamma.util.ArgumentChecker; /** * Identifies a {@link ViewComputationCache}. */ /*package*/ class ViewComputationCacheKey implements Serializable { private static final long serialVersionUID = 1L; private final UniqueId _viewCycleId; private final String _calculationConfigurationName; public ViewComputationCacheKey(UniqueId viewCycleId, String calculationConfigurationName) { ArgumentChecker.notNull(viewCycleId, "viewCycleId"); ArgumentChecker.notNull(calculationConfigurationName, "calculationConfigurationName"); _viewCycleId = viewCycleId; _calculationConfigurationName = calculationConfigurationName; } /** * Gets the unique identifer of the view cycle. * * @return the unique identifier of the view cycle, not null */ public UniqueId getViewCycleId() { return _viewCycleId; } /** * Gets the calculation configuration name. * * @return the calculation configuration name, not null */ public String getCalculationConfigurationName() { return _calculationConfigurationName; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + _calculationConfigurationName.hashCode(); result = prime * result + _viewCycleId.hashCode(); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof ViewComputationCacheKey)) { return false; } ViewComputationCacheKey other = (ViewComputationCacheKey) obj; if (!_calculationConfigurationName.equals(other._calculationConfigurationName)) { return false; } if (!_viewCycleId.equals(other._viewCycleId)) { return false; } return true; } @Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); } }