/** * Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.integration.tool.enginedebugger; import java.util.Map; import java.util.Set; import com.opengamma.engine.depgraph.ResolutionFailure; import com.opengamma.engine.depgraph.ResolutionFailureImpl; import com.opengamma.engine.depgraph.ResolutionFailureVisitor; import com.opengamma.engine.value.ValueRequirement; import com.opengamma.engine.value.ValueSpecification; import com.opengamma.integration.tool.enginedebugger.node.CouldNotResolveNode; import com.opengamma.integration.tool.enginedebugger.node.FailedFunctionNode; import com.opengamma.integration.tool.enginedebugger.node.GetAdditionalRequirementsFailedNode; import com.opengamma.integration.tool.enginedebugger.node.GetRequirementsFailedNode; import com.opengamma.integration.tool.enginedebugger.node.GetResultsFailedNode; import com.opengamma.integration.tool.enginedebugger.node.LateResolutionFailureNode; import com.opengamma.integration.tool.enginedebugger.node.MarketDataMissingNode; import com.opengamma.integration.tool.enginedebugger.node.NoFunctionNode; import com.opengamma.integration.tool.enginedebugger.node.RecursiveRequirementNode; import com.opengamma.integration.tool.enginedebugger.node.SuccessfulFunctionNode; import com.opengamma.integration.tool.enginedebugger.node.UnsatisfiedNode; /** * */ public final class ResolutionFailureChildNodeCreatingVisitor extends ResolutionFailureVisitor<Object> { private ResolutionFailureImpl _parent; public ResolutionFailureChildNodeCreatingVisitor(ResolutionFailureImpl parent) { _parent = parent; } @Override protected Object visitCouldNotResolve(final ValueRequirement valueRequirement) { return new CouldNotResolveNode(_parent, valueRequirement); } @Override protected Object visitNoFunctions(final ValueRequirement valueRequirement) { return new NoFunctionNode(_parent, valueRequirement); } @Override protected Object visitRecursiveRequirement(final ValueRequirement valueRequirement) { return new RecursiveRequirementNode(_parent, valueRequirement); } @Override protected Object visitUnsatisfied(final ValueRequirement valueRequirement) { return new UnsatisfiedNode(_parent, valueRequirement); } @Override protected Object visitMarketDataMissing(final ValueRequirement valueRequirement) { return new MarketDataMissingNode(_parent, valueRequirement); } @Override protected Object visitSuccessfulFunction(final ValueRequirement valueRequirement, final String function, final ValueSpecification desiredOutput, final Map<ValueSpecification, ValueRequirement> satisfied) { return new SuccessfulFunctionNode(_parent, valueRequirement, function, desiredOutput, satisfied); } @Override protected Object visitFailedFunction(final ValueRequirement valueRequirement, final String function, final ValueSpecification desiredOutput, final Map<ValueSpecification, ValueRequirement> satisfied, final Set<ResolutionFailure> unsatisfied) { return new FailedFunctionNode(_parent, valueRequirement, function, desiredOutput, satisfied, unsatisfied); } @Override protected Object visitGetAdditionalRequirementsFailed(final ValueRequirement valueRequirement, final String function, final ValueSpecification desiredOutput, final Map<ValueSpecification, ValueRequirement> requirements) { return new GetAdditionalRequirementsFailedNode(_parent, valueRequirement, function, desiredOutput, requirements); } @Override protected Object visitGetResultsFailed(final ValueRequirement valueRequirement, final String function, final ValueSpecification desiredOutput, final Map<ValueSpecification, ValueRequirement> requirements) { return new GetResultsFailedNode(_parent, valueRequirement, function, desiredOutput, requirements); } @Override protected Object visitGetRequirementsFailed(final ValueRequirement valueRequirement, final String function, final ValueSpecification desiredOutput) { return new GetRequirementsFailedNode(_parent, valueRequirement, function, desiredOutput); } @Override protected Object visitLateResolutionFailure(final ValueRequirement valueRequirement, final String function, final ValueSpecification desiredOutput, final Map<ValueSpecification, ValueRequirement> requirements) { return new LateResolutionFailureNode(_parent, valueRequirement, function, desiredOutput, requirements); } @Override protected Object visitBlacklistSuppressed(final ValueRequirement valueRequirement, final String function, final ValueSpecification desiredOutput, final Map<ValueSpecification, ValueRequirement> requirements) { return new BlacklistSuppressedNode(_parent, valueRequirement, function, desiredOutput, requirements); } }