Class LibraryBuilder

java.lang.Object
org.cqframework.cql.cql2elm.LibraryBuilder

public class LibraryBuilder extends Object
Created by Bryn on 12/29/2016.
  • Constructor Details

    • LibraryBuilder

      public LibraryBuilder(LibraryManager libraryManager, org.cqframework.cql.elm.IdObjectFactory objectFactory)
    • LibraryBuilder

      public LibraryBuilder(org.hl7.cql.model.NamespaceInfo namespaceInfo, LibraryManager libraryManager, org.cqframework.cql.elm.IdObjectFactory objectFactory)
  • Method Details

    • getErrors

      public List<CqlCompilerException> getErrors()
    • getWarnings

      public List<CqlCompilerException> getWarnings()
    • getMessages

      public List<CqlCompilerException> getMessages()
    • getExceptions

      public List<CqlCompilerException> getExceptions()
    • getObjectFactory

      public org.cqframework.cql.elm.IdObjectFactory getObjectFactory()
    • getLibraryManager

      public LibraryManager getLibraryManager()
    • getLibrary

      public org.hl7.elm.r1.Library getLibrary()
    • getCompiledLibrary

      public CompiledLibrary getCompiledLibrary()
    • getConversionMap

      public ConversionMap getConversionMap()
    • enableListTraversal

      public void enableListTraversal()
    • isCompatibilityLevel3

      public boolean isCompatibilityLevel3()
    • isCompatibilityLevel4

      public boolean isCompatibilityLevel4()
    • getCompatibilityLevel

      public String getCompatibilityLevel()
    • setCompatibilityLevel

      public void setCompatibilityLevel(String compatibilityLevel)
    • isCompatibleWith

      public boolean isCompatibleWith(String sinceCompatibilityLevel)
    • checkCompatibilityLevel

      public void checkCompatibilityLevel(String featureName, String sinceCompatibilityLevel)
    • isWellKnownModelName

      public boolean isWellKnownModelName(String unqualifiedIdentifier)
    • isWellKnownLibraryName

      public boolean isWellKnownLibraryName(String unqualifiedIdentifier)
    • getNamespaceInfo

      public org.hl7.cql.model.NamespaceInfo getNamespaceInfo()
    • getDefaultModel

      public Model getDefaultModel()
    • getModel

      public Model getModel(org.hl7.cql.model.ModelIdentifier modelIdentifier, String localIdentifier)
    • getNamedTypeSpecifierResult

      public ResultWithPossibleError<org.hl7.elm.r1.NamedTypeSpecifier> getNamedTypeSpecifierResult(String namedTypeSpecifierIdentifier)
    • addNamedTypeSpecifierResult

      public void addNamedTypeSpecifierResult(String namedTypeSpecifierIdentifier, ResultWithPossibleError<org.hl7.elm.r1.NamedTypeSpecifier> namedTypeSpecifierResult)
    • hasUsings

      public boolean hasUsings()
    • resolveLabel

      public org.hl7.cql.model.ClassType resolveLabel(String modelName, String label)
    • resolveContextName

      public org.hl7.cql.model.ModelContext resolveContextName(String modelName, String contextName)
    • resolveTypeName

      public org.hl7.cql.model.DataType resolveTypeName(String typeName)
    • resolveTypeName

      public org.hl7.cql.model.DataType resolveTypeName(String modelName, String typeName)
    • resolveTypeSpecifier

      public org.hl7.cql.model.DataType resolveTypeSpecifier(String typeSpecifier)
    • resolveUsingRef

      public org.hl7.elm.r1.UsingDef resolveUsingRef(String modelName)
    • getSystemModel

      public SystemModel getSystemModel()
    • getModel

      public Model getModel(String modelName)
    • getModel

      public Model getModel(org.hl7.elm.r1.UsingDef usingDef)
    • getSystemLibrary

      public CompiledLibrary getSystemLibrary()
    • resolveLibrary

      public CompiledLibrary resolveLibrary(String identifier)
    • resolveNamespaceUri

      public String resolveNamespaceUri(String namespaceName, boolean mustResolve)
    • recordParsingException

      public void recordParsingException(CqlCompilerException e)
      Record any errors while parsing in both the list of errors but also in the library itself so they can be processed easily by a remote client
      Parameters:
      e - the exception to record
    • beginTranslation

      public void beginTranslation()
    • getLibraryIdentifier

      public org.hl7.elm.r1.VersionedIdentifier getLibraryIdentifier()
    • setLibraryIdentifier

      public void setLibraryIdentifier(org.hl7.elm.r1.VersionedIdentifier vid)
    • endTranslation

      public void endTranslation()
    • canResolveLibrary

      public boolean canResolveLibrary(org.hl7.elm.r1.IncludeDef includeDef)
    • addInclude

      public void addInclude(org.hl7.elm.r1.IncludeDef includeDef)
    • addParameter

      public void addParameter(org.hl7.elm.r1.ParameterDef paramDef)
    • addCodeSystem

      public void addCodeSystem(org.hl7.elm.r1.CodeSystemDef cs)
    • addValueSet

      public void addValueSet(org.hl7.elm.r1.ValueSetDef vs)
    • addCode

      public void addCode(org.hl7.elm.r1.CodeDef cd)
    • addConcept

      public void addConcept(org.hl7.elm.r1.ConceptDef cd)
    • addContext

      public void addContext(org.hl7.elm.r1.ContextDef cd)
    • addExpression

      public void addExpression(org.hl7.elm.r1.ExpressionDef expDef)
    • removeExpression

      public void removeExpression(org.hl7.elm.r1.ExpressionDef expDef)
    • resolve

      public org.hl7.elm.r1.Element resolve(String identifier)
    • resolveIncludeRef

      public org.hl7.elm.r1.IncludeDef resolveIncludeRef(String identifier)
    • resolveIncludeAlias

      public String resolveIncludeAlias(org.hl7.elm.r1.VersionedIdentifier libraryIdentifier)
    • resolveCodeSystemRef

      public org.hl7.elm.r1.CodeSystemDef resolveCodeSystemRef(String identifier)
    • resolveValueSetRef

      public org.hl7.elm.r1.ValueSetDef resolveValueSetRef(String identifier)
    • resolveCodeRef

      public org.hl7.elm.r1.CodeDef resolveCodeRef(String identifier)
    • resolveConceptRef

      public org.hl7.elm.r1.ConceptDef resolveConceptRef(String identifier)
    • resolveParameterRef

      public org.hl7.elm.r1.ParameterDef resolveParameterRef(String identifier)
    • resolveExpressionRef

      public org.hl7.elm.r1.ExpressionDef resolveExpressionRef(String identifier)
    • findConversion

      public Conversion findConversion(org.hl7.cql.model.DataType fromType, org.hl7.cql.model.DataType toType, boolean implicit, boolean allowPromotionAndDemotion)
    • resolveUnaryCall

      public org.hl7.elm.r1.Expression resolveUnaryCall(String libraryName, String operatorName, org.hl7.elm.r1.UnaryExpression expression)
    • resolveBinaryInvocation

      public Invocation resolveBinaryInvocation(String libraryName, String operatorName, org.hl7.elm.r1.BinaryExpression expression)
    • resolveBinaryCall

      public org.hl7.elm.r1.Expression resolveBinaryCall(String libraryName, String operatorName, org.hl7.elm.r1.BinaryExpression expression)
    • resolveBinaryInvocation

      public Invocation resolveBinaryInvocation(String libraryName, String operatorName, org.hl7.elm.r1.BinaryExpression expression, boolean mustResolve, boolean allowPromotionAndDemotion)
    • resolveBinaryCall

      public org.hl7.elm.r1.Expression resolveBinaryCall(String libraryName, String operatorName, org.hl7.elm.r1.BinaryExpression expression, boolean mustResolve, boolean allowPromotionAndDemotion)
    • resolveTernaryCall

      public org.hl7.elm.r1.Expression resolveTernaryCall(String libraryName, String operatorName, org.hl7.elm.r1.TernaryExpression expression)
    • resolveNaryCall

      public org.hl7.elm.r1.Expression resolveNaryCall(String libraryName, String operatorName, org.hl7.elm.r1.NaryExpression expression)
    • resolveAggregateCall

      public org.hl7.elm.r1.Expression resolveAggregateCall(String libraryName, String operatorName, org.hl7.elm.r1.AggregateExpression expression)
    • resolveUnion

      public org.hl7.elm.r1.Expression resolveUnion(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right)
    • resolveIntersect

      public org.hl7.elm.r1.Expression resolveIntersect(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right)
    • resolveExcept

      public org.hl7.elm.r1.Expression resolveExcept(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right)
    • resolveIn

      public org.hl7.elm.r1.Expression resolveIn(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right)
    • resolveContains

      public org.hl7.elm.r1.Expression resolveContains(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right)
    • resolveIn

      public org.hl7.elm.r1.Expression resolveIn(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right, org.hl7.elm.r1.DateTimePrecision dateTimePrecision)
    • resolveInInvocation

      public Invocation resolveInInvocation(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right, org.hl7.elm.r1.DateTimePrecision dateTimePrecision)
    • resolveProperIn

      public org.hl7.elm.r1.Expression resolveProperIn(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right, org.hl7.elm.r1.DateTimePrecision dateTimePrecision)
    • resolveProperInInvocation

      public Invocation resolveProperInInvocation(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right, org.hl7.elm.r1.DateTimePrecision dateTimePrecision)
    • resolveContains

      public org.hl7.elm.r1.Expression resolveContains(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right, org.hl7.elm.r1.DateTimePrecision dateTimePrecision)
    • resolveContainsInvocation

      public Invocation resolveContainsInvocation(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right, org.hl7.elm.r1.DateTimePrecision dateTimePrecision)
    • resolveProperContains

      public org.hl7.elm.r1.Expression resolveProperContains(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right, org.hl7.elm.r1.DateTimePrecision dateTimePrecision)
    • resolveProperContainsInvocation

      public Invocation resolveProperContainsInvocation(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right, org.hl7.elm.r1.DateTimePrecision dateTimePrecision)
    • resolveIncludes

      public org.hl7.elm.r1.Expression resolveIncludes(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right, org.hl7.elm.r1.DateTimePrecision dateTimePrecision)
    • resolveProperIncludes

      public org.hl7.elm.r1.Expression resolveProperIncludes(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right, org.hl7.elm.r1.DateTimePrecision dateTimePrecision)
    • resolveIncludedIn

      public org.hl7.elm.r1.Expression resolveIncludedIn(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right, org.hl7.elm.r1.DateTimePrecision dateTimePrecision)
    • resolveProperIncludedIn

      public org.hl7.elm.r1.Expression resolveProperIncludedIn(org.hl7.elm.r1.Expression left, org.hl7.elm.r1.Expression right, org.hl7.elm.r1.DateTimePrecision dateTimePrecision)
    • resolveCall

      public org.hl7.elm.r1.Expression resolveCall(String libraryName, String operatorName, Invocation invocation)
    • resolveCall

      public org.hl7.elm.r1.Expression resolveCall(String libraryName, String operatorName, Invocation invocation, boolean allowPromotionAndDemotion, boolean allowFluent)
    • resolveCall

      public org.hl7.elm.r1.Expression resolveCall(String libraryName, String operatorName, Invocation invocation, boolean mustResolve, boolean allowPromotionAndDemotion, boolean allowFluent)
    • resolveInvocation

      public Invocation resolveInvocation(String libraryName, String operatorName, Invocation invocation)
    • resolveInvocation

      public Invocation resolveInvocation(String libraryName, String operatorName, Invocation invocation, boolean allowPromotionAndDemotion, boolean allowFluent)
    • buildCallContext

      public CallContext buildCallContext(String libraryName, String operatorName, Iterable<org.hl7.elm.r1.Expression> operands, boolean mustResolve, boolean allowPromotionAndDemotion, boolean allowFluent)
    • resolveInvocation

      public Invocation resolveInvocation(String libraryName, String operatorName, Invocation invocation, boolean mustResolve, boolean allowPromotionAndDemotion, boolean allowFluent)
    • resolveFunctionDefinition

      public Operator resolveFunctionDefinition(org.hl7.elm.r1.FunctionDef fd)
    • resolveCall

      public OperatorResolution resolveCall(CallContext callContext)
    • checkOperator

      public void checkOperator(CallContext callContext, OperatorResolution resolution)
    • checkAccessLevel

      public void checkAccessLevel(String libraryName, String objectName, org.hl7.elm.r1.AccessModifier accessModifier)
    • resolveFunction

      public org.hl7.elm.r1.Expression resolveFunction(String libraryName, String functionName, Iterable<org.hl7.elm.r1.Expression> paramList)
    • resolveFunction

      public Invocation resolveFunction(String libraryName, String functionName, Iterable<org.hl7.elm.r1.Expression> paramList, boolean mustResolve, boolean allowPromotionAndDemotion, boolean allowFluent)
    • verifyComparable

      public void verifyComparable(org.hl7.cql.model.DataType dataType)
    • convertExpression

      public org.hl7.elm.r1.Expression convertExpression(org.hl7.elm.r1.Expression expression, org.hl7.cql.model.DataType targetType)
    • convertExpression

      public org.hl7.elm.r1.Expression convertExpression(org.hl7.elm.r1.Expression expression, org.hl7.cql.model.DataType targetType, boolean implicit)
    • resolveToList

      public org.hl7.elm.r1.Expression resolveToList(org.hl7.elm.r1.Expression expression)
    • resolveToInterval

      public org.hl7.elm.r1.Expression resolveToInterval(org.hl7.elm.r1.Expression expression)
    • buildAs

      public org.hl7.elm.r1.As buildAs(org.hl7.elm.r1.Expression expression, org.hl7.cql.model.DataType asType)
    • buildIs

      public org.hl7.elm.r1.Is buildIs(org.hl7.elm.r1.Expression expression, org.hl7.cql.model.DataType isType)
    • buildNull

      public org.hl7.elm.r1.Null buildNull(org.hl7.cql.model.DataType nullType)
    • buildIsNull

      public org.hl7.elm.r1.IsNull buildIsNull(org.hl7.elm.r1.Expression expression)
    • buildIsNotNull

      public org.hl7.elm.r1.Not buildIsNotNull(org.hl7.elm.r1.Expression expression)
    • buildMinimum

      public org.hl7.elm.r1.MinValue buildMinimum(org.hl7.cql.model.DataType dataType)
    • buildMaximum

      public org.hl7.elm.r1.MaxValue buildMaximum(org.hl7.cql.model.DataType dataType)
    • buildPredecessor

      public org.hl7.elm.r1.Expression buildPredecessor(org.hl7.elm.r1.Expression source)
    • buildSuccessor

      public org.hl7.elm.r1.Expression buildSuccessor(org.hl7.elm.r1.Expression source)
    • convertExpression

      public org.hl7.elm.r1.Expression convertExpression(org.hl7.elm.r1.Expression expression, Conversion conversion)
    • verifyType

      public void verifyType(org.hl7.cql.model.DataType actualType, org.hl7.cql.model.DataType expectedType)
    • findCompatibleType

      public org.hl7.cql.model.DataType findCompatibleType(org.hl7.cql.model.DataType first, org.hl7.cql.model.DataType second)
    • ensureCompatibleTypes

      public org.hl7.cql.model.DataType ensureCompatibleTypes(org.hl7.cql.model.DataType first, org.hl7.cql.model.DataType second)
    • ensureCompatible

      public org.hl7.elm.r1.Expression ensureCompatible(org.hl7.elm.r1.Expression expression, org.hl7.cql.model.DataType targetType)
    • enforceCompatible

      public org.hl7.elm.r1.Expression enforceCompatible(org.hl7.elm.r1.Expression expression, org.hl7.cql.model.DataType targetType)
    • createLiteral

      public org.hl7.elm.r1.Literal createLiteral(String val, String type)
    • createLiteral

      public org.hl7.elm.r1.Literal createLiteral(String string)
    • createLiteral

      public org.hl7.elm.r1.Literal createLiteral(Boolean bool)
    • createLiteral

      public org.hl7.elm.r1.Literal createLiteral(Integer integer)
    • createLiteral

      public org.hl7.elm.r1.Literal createLiteral(Double value)
    • createNumberLiteral

      public org.hl7.elm.r1.Literal createNumberLiteral(String value)
    • createLongNumberLiteral

      public org.hl7.elm.r1.Literal createLongNumberLiteral(String value)
    • validateUnit

      public void validateUnit(String unit)
    • ensureUcumUnit

      public String ensureUcumUnit(String unit)
    • createQuantity

      public org.hl7.elm.r1.Quantity createQuantity(BigDecimal value, String unit)
    • createRatio

      public org.hl7.elm.r1.Ratio createRatio(org.hl7.elm.r1.Quantity numerator, org.hl7.elm.r1.Quantity denominator)
    • createInterval

      public org.hl7.elm.r1.Interval createInterval(org.hl7.elm.r1.Expression low, boolean lowClosed, org.hl7.elm.r1.Expression high, boolean highClosed)
    • dataTypeToQName

      public QName dataTypeToQName(org.hl7.cql.model.DataType type)
    • dataTypesToTypeSpecifiers

      public Iterable<org.hl7.elm.r1.TypeSpecifier> dataTypesToTypeSpecifiers(Iterable<org.hl7.cql.model.DataType> types)
    • dataTypeToTypeSpecifier

      public org.hl7.elm.r1.TypeSpecifier dataTypeToTypeSpecifier(org.hl7.cql.model.DataType type)
    • resolvePath

      public org.hl7.cql.model.DataType resolvePath(org.hl7.cql.model.DataType sourceType, String path)
    • resolveProperty

      public PropertyResolution resolveProperty(org.hl7.cql.model.DataType sourceType, String identifier)
    • resolveProperty

      public PropertyResolution resolveProperty(org.hl7.cql.model.DataType sourceType, String identifier, boolean mustResolve)
    • resolveIdentifier

      public org.hl7.elm.r1.Expression resolveIdentifier(String identifier, boolean mustResolve)
    • resolveImplicitContext

      public org.hl7.elm.r1.ParameterRef resolveImplicitContext()
      An implicit context is one where the context has the same name as a parameter. Implicit contexts are used to allow FHIRPath expressions to resolve on the implicit context of the expression For example, in a Patient context, with a parameter of type Patient, the expression `birthDate` resolves to a property reference.
      Returns:
      A reference to the parameter providing the implicit context value
    • buildProperty

      public org.hl7.elm.r1.Property buildProperty(String scope, String path, boolean isSearch, org.hl7.cql.model.DataType resultType)
    • buildProperty

      public org.hl7.elm.r1.Property buildProperty(org.hl7.elm.r1.Expression source, String path, boolean isSearch, org.hl7.cql.model.DataType resultType)
    • applyTargetMap

      public org.hl7.elm.r1.Expression applyTargetMap(org.hl7.elm.r1.Expression source, String targetMap)
    • resolveAccessor

      public org.hl7.elm.r1.Expression resolveAccessor(org.hl7.elm.r1.Expression left, String memberIdentifier)
    • determineRootCause

      public Exception determineRootCause()
    • setRootCause

      public void setRootCause(Exception rootCause)
    • pushExpressionDefinition

      public void pushExpressionDefinition(String identifier)
    • popExpressionDefinition

      public void popExpressionDefinition()
    • pushExpressionContext

      public void pushExpressionContext(String context)
    • popExpressionContext

      public void popExpressionContext()
    • currentExpressionContext

      public String currentExpressionContext()
    • inSpecificContext

      public boolean inSpecificContext()
    • inUnfilteredContext

      public boolean inUnfilteredContext()
    • inQueryContext

      public boolean inQueryContext()
    • pushQueryContext

      public void pushQueryContext(QueryContext context)
    • popQueryContext

      public QueryContext popQueryContext()
    • peekQueryContext

      public QueryContext peekQueryContext()
    • pushExpressionTarget

      public void pushExpressionTarget(org.hl7.elm.r1.Expression target)
    • popExpressionTarget

      public org.hl7.elm.r1.Expression popExpressionTarget()
    • hasExpressionTarget

      public boolean hasExpressionTarget()
    • beginFunctionDef

      public void beginFunctionDef(org.hl7.elm.r1.FunctionDef functionDef)
    • endFunctionDef

      public void endFunctionDef()
    • pushLiteralContext

      public void pushLiteralContext()
    • popLiteralContext

      public void popLiteralContext()
    • inLiteralContext

      public boolean inLiteralContext()
    • checkLiteralContext

      public void checkLiteralContext()
    • pushTypeSpecifierContext

      public void pushTypeSpecifierContext()
    • popTypeSpecifierContext

      public void popTypeSpecifierContext()
    • inTypeSpecifierContext

      public boolean inTypeSpecifierContext()