Interface FHIRPathEngine.IEvaluationContext

All Known Subinterfaces:
FHIRPathEngine.IEvaluationContext
All Known Implementing Classes:
ComparisonRenderer, FHIRPathHostServices, LiquidEngine, Runner
Enclosing class:
FHIRPathEngine

public static interface FHIRPathEngine.IEvaluationContext
  • Method Details

    • resolveConstant

      List<Base> resolveConstant(FHIRPathEngine engine, Object appContext, String name, boolean beforeContext, boolean explicitConstant) throws org.hl7.fhir.exceptions.PathEngineException
      A constant reference - e.g. a reference to a name that must be resolved in context. The % will be removed from the constant name before this is invoked. Variables created with defineVariable will not be processed by resolveConstant (or resolveConstantType) This will also be called if the host invokes the FluentPath engine with a context of null
      Parameters:
      appContext - - content passed into the fluent path engine
      name - - name reference to resolve
      beforeContext - - whether this is being called before the name is resolved locally, or not
      Returns:
      the value of the reference (or null, if it's not valid, though can throw an exception if desired)
      Throws:
      org.hl7.fhir.exceptions.PathEngineException
    • resolveConstantType

      TypeDetails resolveConstantType(FHIRPathEngine engine, Object appContext, String name, boolean explicitConstant) throws org.hl7.fhir.exceptions.PathEngineException
      Throws:
      org.hl7.fhir.exceptions.PathEngineException
    • log

      boolean log(String argument, List<Base> focus)
      when the .log() function is called
      Parameters:
      argument -
      focus -
      Returns:
    • resolveFunction

      Parameters:
      functionName -
      Returns:
      null if the function is not known
    • checkFunction

      TypeDetails checkFunction(FHIRPathEngine engine, Object appContext, String functionName, TypeDetails focus, List<TypeDetails> parameters) throws org.hl7.fhir.exceptions.PathEngineException
      Check the function parameters, and throw an error if they are incorrect, or return the type for the function
      Parameters:
      functionName -
      parameters -
      Returns:
      Throws:
      org.hl7.fhir.exceptions.PathEngineException
    • executeFunction

      List<Base> executeFunction(FHIRPathEngine engine, Object appContext, List<Base> focus, String functionName, List<List<Base>> parameters)
      Parameters:
      appContext -
      functionName -
      parameters -
      Returns:
    • resolveReference

      Base resolveReference(FHIRPathEngine engine, Object appContext, String url, Base refContext) throws org.hl7.fhir.exceptions.FHIRException
      Implementation of resolve() function. Passed a string, return matching resource, if one is known - else null
      Parameters:
      url - the reference (Reference.reference or the value of the canonical
      Returns:
      Throws:
      org.hl7.fhir.exceptions.FHIRException
    • conformsToProfile

      boolean conformsToProfile(FHIRPathEngine engine, Object appContext, Base item, String url) throws org.hl7.fhir.exceptions.FHIRException
      Throws:
      org.hl7.fhir.exceptions.FHIRException
    • resolveValueSet

      ValueSet resolveValueSet(FHIRPathEngine engine, Object appContext, String url)
    • paramIsType

      boolean paramIsType(String name, int index)
      For the moment, there can only be one parameter if it's a type parameter
      Parameters:
      name -
      Returns:
      true if it's a type parameter