Record Class SliceRequirement.RequiredBinding

java.lang.Object
java.lang.Record
org.fhirfrog.frog.profilecompiler.model.SliceRequirement.RequiredBinding
Record Components:
codePath - the FHIRPath sub-path, relative to one candidate element of the sliced array, at which the .code leaf actually lives - "code" when the discriminator sub-element is itself a Coding, "coding.code" (optionally sub-path-prefixed) when it's a CodeableConcept. Carried explicitly rather than re-derived from discriminatorSubPath at compile-to-FHIRPath time, because the same discriminator sub-path can back either shape depending on the profile (AU Core's coding:pbs/ coding:amt resolve directly on a Coding; AU Base's au- dvanumber's Identifier.type resolves on a CodeableConcept).
All Implemented Interfaces:
SliceRequirement
Enclosing interface:
SliceRequirement

public static record SliceRequirement.RequiredBinding(String sliceElementId, String sliceName, String baseElementPath, boolean mandatory, String discriminatorSubPath, String codePath, String valueSetUrl, List<String> codes, boolean resolvedViaReferencedProfile) extends Record implements SliceRequirement
A slice identified by required-strength ValueSet membership at the discriminator's sub-path (algorithm.md §3.2.1's requiredBinding branch) - a disjunction over codes, expanded eagerly at compile time from locally-loaded IG packages only (see ValueSetExpander; not from a terminology server).
  • Constructor Details

    • RequiredBinding

      public RequiredBinding(String sliceElementId, String sliceName, String baseElementPath, boolean mandatory, String discriminatorSubPath, String codePath, String valueSetUrl, List<String> codes, boolean resolvedViaReferencedProfile)
      Creates an instance of a RequiredBinding record class.
      Parameters:
      sliceElementId - the value for the sliceElementId record component
      sliceName - the value for the sliceName record component
      baseElementPath - the value for the baseElementPath record component
      mandatory - the value for the mandatory record component
      discriminatorSubPath - the value for the discriminatorSubPath record component
      codePath - the value for the codePath record component
      valueSetUrl - the value for the valueSetUrl record component
      codes - the value for the codes record component
      resolvedViaReferencedProfile - the value for the resolvedViaReferencedProfile record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • sliceElementId

      public String sliceElementId()
      Returns the value of the sliceElementId record component.
      Specified by:
      sliceElementId in interface SliceRequirement
      Returns:
      the value of the sliceElementId record component
    • sliceName

      public String sliceName()
      Returns the value of the sliceName record component.
      Specified by:
      sliceName in interface SliceRequirement
      Returns:
      the value of the sliceName record component
    • baseElementPath

      public String baseElementPath()
      Returns the value of the baseElementPath record component.
      Specified by:
      baseElementPath in interface SliceRequirement
      Returns:
      the value of the baseElementPath record component
    • mandatory

      public boolean mandatory()
      Returns the value of the mandatory record component.
      Specified by:
      mandatory in interface SliceRequirement
      Returns:
      the value of the mandatory record component
    • discriminatorSubPath

      public String discriminatorSubPath()
      Returns the value of the discriminatorSubPath record component.
      Returns:
      the value of the discriminatorSubPath record component
    • codePath

      public String codePath()
      Returns the value of the codePath record component.
      Returns:
      the value of the codePath record component
    • valueSetUrl

      public String valueSetUrl()
      Returns the value of the valueSetUrl record component.
      Returns:
      the value of the valueSetUrl record component
    • codes

      public List<String> codes()
      Returns the value of the codes record component.
      Returns:
      the value of the codes record component
    • resolvedViaReferencedProfile

      public boolean resolvedViaReferencedProfile()
      Returns the value of the resolvedViaReferencedProfile record component.
      Returns:
      the value of the resolvedViaReferencedProfile record component