/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.engine.calcnode; /** * Interface for an implementation that can specify certain capabilities for jobs so that * their allocation to {@link JobInvoker} instances by the {@link JobDispatcher} can be * more closely controlled. */ public interface CapabilityRequirementsProvider { /** * Returns the {@link CapabilityRequirements} object for the job. The object will never be modified by the caller so the same instance can be returned for multiple jobs. * * @param job job details * @return the requirements, not null. */ CapabilityRequirements getCapabilityRequirements(CalculationJob job); }