/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.engine.depgraph; import java.util.Collection; import java.util.Map; import com.opengamma.engine.value.ValueRequirement; import com.opengamma.engine.value.ValueSpecification; /** * Suppression of resolution failure reporting. */ /* package */final class NullResolutionFailure extends ResolutionFailure { public static final NullResolutionFailure INSTANCE = new NullResolutionFailure(); private NullResolutionFailure() { } @Override protected ResolutionFailure additionalRequirement(final ValueRequirement valueRequirement, final ResolutionFailure failure) { return this; } @Override protected ResolutionFailure requirement(final ValueRequirement valueRequirement, final ResolutionFailure failure) { return this; } @Override protected ResolutionFailure requirements(final Map<ValueSpecification, ValueRequirement> available) { return this; } @Override protected ResolutionFailure getResultsFailed() { return this; } @Override protected ResolutionFailure getAdditionalRequirementsFailed() { return this; } @Override protected ResolutionFailure lateResolutionFailure() { return this; } @Override protected ResolutionFailure getRequirementsFailed() { return this; } @Override protected ResolutionFailure suppressed() { return this; } @Override protected ResolutionFailure checkFailure(final ValueRequirement valueRequirement) { return ResolutionFailureImpl.couldNotResolve(valueRequirement); } @Override public ValueRequirement getValueRequirement() { return null; } @Override public <T> Collection<T> accept(final ResolutionFailureVisitor<T> visitor) { return null; } @Override protected void merge(final ResolutionFailure failure) { // No-op } @Override public String toString() { return "NullResolutionFailure"; } @Override public Object clone() { return this; } @Override public boolean equals(final Object obj) { return obj == this; } @Override public int hashCode() { return 0; } }