/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.engine.view.compilation; import java.util.Set; import com.opengamma.engine.depgraph.DependencyNode; import com.opengamma.engine.depgraph.impl.RootDiscardingSubgrapher; import com.opengamma.id.UniqueId; /** * Filters a dependency graph to exclude any nodes that have targets in an invalid set. */ public final class InvalidTargetDependencyNodeFilter extends RootDiscardingSubgrapher { private final Set<UniqueId> _invalidTargets; public InvalidTargetDependencyNodeFilter(final Set<UniqueId> invalidTargets) { _invalidTargets = invalidTargets; } // RootDiscardingSugrapher @Override public boolean acceptNode(final DependencyNode node) { final UniqueId uid = node.getTarget().getUniqueId(); return (uid == null) || !_invalidTargets.contains(uid); } }