/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.temptarget; import org.fudgemsg.FudgeMsg; import org.fudgemsg.MutableFudgeMsg; import org.fudgemsg.mapping.FudgeDeserializer; import org.fudgemsg.mapping.FudgeSerializer; import com.opengamma.id.UniqueId; import com.opengamma.util.ArgumentChecker; /** * Test implementation of {@link TempTarget}. */ public final class MockTempTarget extends TempTarget { private final String _value; public MockTempTarget(final String value) { ArgumentChecker.notNull(value, "value"); _value = value; } protected MockTempTarget(final MockTempTarget copyFrom, final UniqueId uid) { super(uid); _value = copyFrom._value; } private MockTempTarget(final FudgeDeserializer deserializer, final FudgeMsg msg) { super(deserializer, msg); _value = msg.getString("value"); } public static MockTempTarget fromFudgeMsg(final FudgeDeserializer deserializer, final FudgeMsg msg) { return new MockTempTarget(deserializer, msg); } @Override protected void toFudgeMsgImpl(final FudgeSerializer serializer, final MutableFudgeMsg message) { super.toFudgeMsgImpl(serializer, message); serializer.addToMessage(message, "value", null, _value); } // TempTarget @Override public MockTempTarget withUniqueId(final UniqueId uid) { return new MockTempTarget(this, uid); } @Override protected boolean equalsImpl(final Object o) { return _value.equals(((MockTempTarget) o)._value); } @Override protected int hashCodeImpl() { return _value.hashCode(); } }