java.lang.Object
org.opencds.cqf.cql.engine.execution.Cache

public class Cache extends Object
There are at least two types of data that need to be cached, some that is context dependent, like expression results (and thus can be invalidated during the course of evaluation) and some that is not, like Function resolutions (and thus can be cache for the entire duration of the evaluation).
  • Constructor Details

    • Cache

      public Cache()
  • Method Details

    • constructLibraryExpressionHashMap

      protected Map<String,ExpressionResult> constructLibraryExpressionHashMap()
    • getExpressions

      public Map<org.hl7.elm.r1.VersionedIdentifier,Map<String,ExpressionResult>> getExpressions()
    • setExpressionCaching

      public void setExpressionCaching(boolean yayOrNay)
    • getExpressionCache

      protected Map<String,ExpressionResult> getExpressionCache(org.hl7.elm.r1.VersionedIdentifier libraryId)
    • isExpressionCached

      public boolean isExpressionCached(org.hl7.elm.r1.VersionedIdentifier libraryId, String name)
    • isExpressionCachingEnabled

      public boolean isExpressionCachingEnabled()
    • cacheExpression

      public void cacheExpression(org.hl7.elm.r1.VersionedIdentifier libraryId, String name, ExpressionResult er)
    • getCachedExpression

      public ExpressionResult getCachedExpression(org.hl7.elm.r1.VersionedIdentifier libraryId, String name)
    • getFunctionCache

      public Map<org.hl7.elm.r1.FunctionRef,org.hl7.elm.r1.FunctionDef> getFunctionCache()
    • cacheFunctionDef

      public void cacheFunctionDef(org.hl7.elm.r1.FunctionRef functionRef, org.hl7.elm.r1.FunctionDef functionDef)
    • getCachedFunctionDef

      public org.hl7.elm.r1.FunctionDef getCachedFunctionDef(org.hl7.elm.r1.FunctionRef functionRef)