Class Context


  • public class Context
    extends java.lang.Object
    NOTE: This class is thread-affine; it uses thread local storage to allow statics throughout the code base to access the context (such as equal and equivalent evaluators).
    • Constructor Detail

      • Context

        public Context​(Library library)
      • Context

        public Context​(Library library,
                       java.time.ZonedDateTime evaluationZonedDateTime)
      • Context

        public Context​(Library library,
                       java.time.ZonedDateTime evaluationZonedDateTime,
                       DataProvider systemDataProvider)
      • Context

        public Context​(Library library,
                       java.time.ZonedDateTime evaluationZonedDateTime,
                       DataProvider systemDataProvider,
                       org.fhir.ucum.UcumService ucumService)
    • Method Detail

      • getEvaluatedResources

        public java.util.Set<java.lang.Object> getEvaluatedResources()
      • clearEvaluatedResources

        public void clearEvaluatedResources()
      • pushEvaluatedResourceStack

        public void pushEvaluatedResourceStack()
      • popEvaluatedResourceStack

        public void popEvaluatedResourceStack()
      • getDebugMap

        public DebugMap getDebugMap()
      • setDebugMap

        public void setDebugMap​(DebugMap debugMap)
      • shouldDebug

        public DebugAction shouldDebug​(java.lang.Exception e)
      • clearExpressions

        public void clearExpressions()
      • logDebugResult

        public void logDebugResult​(Executable node,
                                   java.lang.Object result,
                                   DebugAction action)
      • logDebugMessage

        public void logDebugMessage​(SourceLocator locator,
                                    java.lang.String message)
      • logDebugWarning

        public void logDebugWarning​(SourceLocator locator,
                                    java.lang.String message)
      • logDebugTrace

        public void logDebugTrace​(SourceLocator locator,
                                  java.lang.String message)
      • logDebugError

        public void logDebugError​(CqlException e)
      • getEvaluationZonedDateTime

        public java.time.ZonedDateTime getEvaluationZonedDateTime()
      • getEvaluationOffsetDateTime

        public java.time.OffsetDateTime getEvaluationOffsetDateTime()
      • getEvaluationDateTime

        public DateTime getEvaluationDateTime()
      • getUcumService

        public org.fhir.ucum.UcumService getUcumService()
      • getSharedUcumService

        protected org.fhir.ucum.UcumService getSharedUcumService()
      • setExpressionCaching

        public void setExpressionCaching​(boolean yayOrNay)
      • isExpressionCached

        public boolean isExpressionCached​(VersionedIdentifier libraryId,
                                          java.lang.String name)
      • isExpressionCachingEnabled

        public boolean isExpressionCachingEnabled()
      • registerLibraryLoader

        public void registerLibraryLoader​(LibraryLoader libraryLoader)
      • getCurrentLibrary

        public Library getCurrentLibrary()
      • enterLibrary

        public boolean enterLibrary​(java.lang.String libraryName)
      • exitLibrary

        public void exitLibrary​(boolean enteredLibrary)
      • resolveCodeRef

        public CodeDef resolveCodeRef​(java.lang.String name)
      • resolveCodeRef

        public CodeDef resolveCodeRef​(java.lang.String libraryName,
                                      java.lang.String name)
      • resolveConceptRef

        public ConceptDef resolveConceptRef​(java.lang.String name)
      • resolveConceptRef

        public ConceptDef resolveConceptRef​(java.lang.String libraryName,
                                            java.lang.String name)
      • resolveExpressionRef

        public ExpressionDef resolveExpressionRef​(java.lang.String name)
      • resolveIdentifierRef

        public java.lang.Object resolveIdentifierRef​(java.lang.String name)
      • fixupQName

        public javax.xml.namespace.QName fixupQName​(javax.xml.namespace.QName typeName)
      • createInstance

        public java.lang.Object createInstance​(javax.xml.namespace.QName typeName)
      • resolveType

        public java.lang.Class<?> resolveType​(javax.xml.namespace.QName typeName)
      • resolveType

        public java.lang.Class<?> resolveType​(TypeSpecifier typeSpecifier)
      • resolveType

        public java.lang.Class<?> resolveType​(java.lang.Object value)
      • is

        public java.lang.Boolean is​(java.lang.Object operand,
                                    java.lang.Class<?> type)
      • as

        public java.lang.Object as​(java.lang.Object operand,
                                   java.lang.Class<?> type,
                                   boolean isStrict)
      • resolveFunctionRef

        public FunctionDef resolveFunctionRef​(java.lang.String libraryName,
                                              java.lang.String name,
                                              java.util.List<java.lang.Object> arguments,
                                              java.util.List<TypeSpecifier> signature)
      • setParameter

        public void setParameter​(java.lang.String libraryName,
                                 java.lang.String name,
                                 java.lang.Object value)
      • setParameters

        public void setParameters​(Library library,
                                  java.util.Map<java.lang.String,​java.lang.Object> parameters)
      • resolveParameterRef

        public java.lang.Object resolveParameterRef​(java.lang.String libraryName,
                                                    java.lang.String name)
      • resolveValueSetRef

        public ValueSetDef resolveValueSetRef​(java.lang.String name)
      • resolveCodeSystemRef

        public CodeSystemDef resolveCodeSystemRef​(java.lang.String name)
      • registerDataProvider

        public void registerDataProvider​(java.lang.String modelUri,
                                         DataProvider dataProvider)
      • resolveDataProvider

        public DataProvider resolveDataProvider​(javax.xml.namespace.QName dataType)
      • resolveDataProviderByModelUri

        public DataProvider resolveDataProviderByModelUri​(java.lang.String modelUri)
      • resolveDataProvider

        public DataProvider resolveDataProvider​(java.lang.String packageName)
      • resolveDataProvider

        public DataProvider resolveDataProvider​(java.lang.String packageName,
                                                boolean mustResolve)
      • registerTerminologyProvider

        public void registerTerminologyProvider​(TerminologyProvider tp)
      • enterContext

        public void enterContext​(java.lang.String context)
      • exitContext

        public void exitContext()
      • getCurrentContext

        public java.lang.String getCurrentContext()
      • setContextValue

        public void setContextValue​(java.lang.String context,
                                    java.lang.Object contextValue)
      • getCurrentContextValue

        public java.lang.Object getCurrentContextValue()
      • push

        public void push​(Variable variable)
      • resolveVariable

        public Variable resolveVariable​(java.lang.String name)
      • resolveVariable

        public Variable resolveVariable​(java.lang.String name,
                                        boolean mustResolve)
      • resolveAlias

        public java.lang.Object resolveAlias​(java.lang.String name)
      • pop

        public void pop()
      • pushWindow

        public void pushWindow()
      • popWindow

        public void popWindow()
      • resolvePath

        public java.lang.Object resolvePath​(java.lang.Object target,
                                            java.lang.String path)
      • setValue

        public void setValue​(java.lang.Object target,
                             java.lang.String path,
                             java.lang.Object value)
      • objectEqual

        public java.lang.Boolean objectEqual​(java.lang.Object left,
                                             java.lang.Object right)
      • objectEquivalent

        public java.lang.Boolean objectEquivalent​(java.lang.Object left,
                                                  java.lang.Object right)