com.opengamma.engine.depgraph.SimpleResolutionFailureVisitor.java Source code

Java tutorial

Introduction

Here is the source code for com.opengamma.engine.depgraph.SimpleResolutionFailureVisitor.java

Source

/**
 * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
 * 
 * Please see distribution for license.
 */
package com.opengamma.engine.depgraph;

import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.opengamma.engine.value.ValueRequirement;
import com.opengamma.engine.value.ValueSpecification;

/**
 * 
 */
public class SimpleResolutionFailureVisitor extends ResolutionFailureVisitor<List<ResolutionFailure>> {

    @Override
    protected List<ResolutionFailure> visitCouldNotResolve(ValueRequirement valueRequirement) {
        return Collections.singletonList(ResolutionFailureImpl.couldNotResolve(valueRequirement));
    }

    @Override
    protected List<ResolutionFailure> visitNoFunctions(ValueRequirement valueRequirement) {
        return Collections.singletonList(ResolutionFailureImpl.noFunctions(valueRequirement));
    }

    @Override
    protected List<ResolutionFailure> visitRecursiveRequirement(ValueRequirement valueRequirement) {
        return Collections.singletonList(ResolutionFailureImpl.recursiveRequirement(valueRequirement));
    }

    @Override
    protected List<ResolutionFailure> visitUnsatisfied(ValueRequirement valueRequirement) {
        return Collections.singletonList(ResolutionFailureImpl.unsatisfied(valueRequirement));
    }

    @Override
    protected List<ResolutionFailure> visitMarketDataMissing(ValueRequirement valueRequirement) {
        return Collections.singletonList(ResolutionFailureImpl.marketDataMissing(valueRequirement));
    }

    @Override
    protected List<ResolutionFailure> visitSuccessfulFunction(ValueRequirement valueRequirement, String function,
            ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> satisfied) {
        return Collections.emptyList(); //TODO is this correct?
    }

    @Override
    //TODO not on fudge builder visitor?
    protected List<ResolutionFailure> visitFailedFunction(ValueRequirement valueRequirement, String function,
            ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> satisfied,
            Set<ResolutionFailure> unsatisfied) {
        return ImmutableList.copyOf(unsatisfied);
    }

    @Override
    protected List<ResolutionFailure> visitFailedFunction(ValueRequirement valueRequirement, String function,
            ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> satisfied,
            Set<ResolutionFailure> unsatisfied, Set<ResolutionFailure> unsatisfiedAdditional) {
        return ImmutableList.copyOf(Iterables.concat(unsatisfied, unsatisfiedAdditional));
    }

    @Override
    protected List<ResolutionFailure> visitFunction(ValueRequirement valueRequirement, String function,
            ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> satisfied,
            Set<ResolutionFailure> unsatisfied, Set<ResolutionFailure> unsatisfiedAdditional) {
        return ImmutableList.copyOf(Iterables.concat(unsatisfied, unsatisfiedAdditional));
    }

    @Override
    protected List<ResolutionFailure> visitGetAdditionalRequirementsFailed(ValueRequirement valueRequirement,
            String function, ValueSpecification desiredOutput,
            Map<ValueSpecification, ValueRequirement> requirements) {
        return Collections.emptyList(); //TODO is this correct?
    }

    @Override
    protected List<ResolutionFailure> visitGetResultsFailed(ValueRequirement valueRequirement, String function,
            ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> requirements) {
        return Collections.emptyList(); //TODO is this correct?
    }

    @Override
    protected List<ResolutionFailure> visitGetRequirementsFailed(ValueRequirement valueRequirement, String function,
            ValueSpecification desiredOutput) {
        return Collections.emptyList(); //TODO is this correct?
    }

    @Override
    protected List<ResolutionFailure> visitLateResolutionFailure(ValueRequirement valueRequirement, String function,
            ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> requirements) {
        return Collections.emptyList(); //TODO is this correct?
    }

    @Override
    protected List<ResolutionFailure> visitBlacklistSuppressed(ValueRequirement valueRequirement, String function,
            ValueSpecification desiredOutput, Map<ValueSpecification, ValueRequirement> requirements) {
        return Collections.emptyList(); //TODO is this correct?
    }

}