/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.calcnode;
import java.util.Collection;
/**
* Always returns a static set of capabilities regardless of the job spec.
*/
public class StaticCapabilityRequirementsProvider implements CapabilityRequirementsProvider {
private CapabilityRequirements _currentRequirements = new CapabilityRequirements();
@Override
public CapabilityRequirements getCapabilityRequirements(final CalculationJob job) {
return _currentRequirements;
}
public void addCapabilityRequirement(final Capability capability) {
final CapabilityRequirements newRequirements = _currentRequirements.clone();
newRequirements.requireCapability(capability);
_currentRequirements = newRequirements;
}
public void addCapabilityRequirements(final Collection<Capability> capabilities) {
final CapabilityRequirements newRequirements = _currentRequirements.clone();
newRequirements.requireCapabilities(capabilities);
_currentRequirements = newRequirements;
}
public void setCapabilityRequirements(final Collection<Capability> capabilities) {
final CapabilityRequirements newRequirements = new CapabilityRequirements();
newRequirements.requireCapabilities(capabilities);
_currentRequirements = newRequirements;
}
}