Package org.hl7.fhir.r5.fhirpath
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 Summary
Modifier and TypeMethodDescriptioncheckFunction
(FHIRPathEngine engine, Object appContext, String functionName, TypeDetails focus, List<TypeDetails> parameters) Check the function parameters, and throw an error if they are incorrect, or return the type for the functionboolean
conformsToProfile
(FHIRPathEngine engine, Object appContext, Base item, String url) executeFunction
(FHIRPathEngine engine, Object appContext, List<Base> focus, String functionName, List<List<Base>> parameters) boolean
when the .log() function is calledboolean
paramIsType
(String name, int index) For the moment, there can only be one parameter if it's a type parameterresolveConstant
(FHIRPathEngine engine, Object appContext, String name, boolean beforeContext, boolean explicitConstant) A constant reference - e.g.resolveConstantType
(FHIRPathEngine engine, Object appContext, String name, boolean explicitConstant) resolveFunction
(FHIRPathEngine engine, String functionName) resolveReference
(FHIRPathEngine engine, Object appContext, String url, Base refContext) Implementation of resolve() function.resolveValueSet
(FHIRPathEngine engine, Object appContext, String url)
-
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 enginename
- - name reference to resolvebeforeContext
- - 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
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
-
paramIsType
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
-