/** * Copyright (C) 2016 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.calc.marketdata; import java.io.Serializable; import java.util.Objects; import com.opengamma.strata.basics.StandardId; import com.opengamma.strata.data.FieldName; import com.opengamma.strata.data.ObservableId; import com.opengamma.strata.data.ObservableSource; /** * An observable ID implementation used in tests. */ public class TestObservableId implements ObservableId, Serializable { private static final long serialVersionUID = 1L; private final StandardId id; private final ObservableSource observableSource; public static TestObservableId of(String id) { return new TestObservableId(id, ObservableSource.NONE); } public static TestObservableId of(String id, ObservableSource obsSource) { return new TestObservableId(id, obsSource); } public static TestObservableId of(StandardId id) { return new TestObservableId(id, ObservableSource.NONE); } public static TestObservableId of(StandardId id, ObservableSource obsSource) { return new TestObservableId(id, obsSource); } TestObservableId(String id, ObservableSource obsSource) { this(StandardId.of("test", id), obsSource); } TestObservableId(StandardId id, ObservableSource obsSource) { this.observableSource = obsSource; this.id = id; } @Override public StandardId getStandardId() { return id; } @Override public FieldName getFieldName() { return FieldName.MARKET_VALUE; } @Override public ObservableSource getObservableSource() { return observableSource; } @Override public ObservableId withObservableSource(ObservableSource obsSource) { return new TestObservableId(id, obsSource); } //------------------------------------------------------------------------- @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } TestObservableId that = (TestObservableId) obj; return Objects.equals(id, that.id); } @Override public int hashCode() { return Objects.hash(id); } @Override public String toString() { return "TestObservableId [id=" + id + ", observableSource=" + observableSource + "]"; } }