/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.sesame.engine; import java.util.EnumSet; /** * TODO is this a sensible name? * TODO should this be extensible rather than an enum so users can add their own? probably * or should users just be able to pass in decorators that the engine can compose with its own? */ public enum FunctionService { /** * The caching service. */ CACHING, /** * The metrics service. */ METRICS, /** * The tracing service providing timings of all methods together with * the arguments passed and the return values. Exactly what is * captured is determined by the CycleArguments. */ TRACING; /** * Default services provided by the engine - memoization based caching of calculated values. */ public static final EnumSet<FunctionService> DEFAULT_SERVICES = EnumSet.of(CACHING); /** * Tells the engine to build the functions with no services. * Useful for debugging as there are no proxies between functions and every method call is direct. */ public static final EnumSet<FunctionService> NONE = EnumSet.noneOf(FunctionService.class); }