pub struct ValidationTraitGenerator;Expand description
Generator for validation traits and implementations
Implementations§
Source§impl ValidationTraitGenerator
impl ValidationTraitGenerator
Sourcepub fn generate_trait_definition() -> String
pub fn generate_trait_definition() -> String
Generate the ValidatableResource trait definition
This trait provides access to invariants for validation purposes.
Example output:
ⓘ
pub trait ValidatableResource {
fn resource_type(&self) -> &'static str;
fn invariants() -> &'static [rh_foundation::Invariant];
fn bindings() -> &'static [rh_foundation::ElementBinding] {
&[]
}
fn profile_url() -> Option<&'static str> {
None
}
}Sourcepub fn generate_trait_impl(structure_def: &StructureDefinition) -> String
pub fn generate_trait_impl(structure_def: &StructureDefinition) -> String
Generate ValidatableResource trait implementation for a StructureDefinition
Only generates an implementation if the type has invariants or bindings.
Example output:
ⓘ
impl ValidatableResource for Patient {
fn resource_type(&self) -> &'static str {
"Patient"
}
fn invariants() -> &'static [rh_foundation::Invariant] {
&INVARIANTS
}
fn bindings() -> &'static [rh_foundation::ElementBinding] {
&BINDINGS
}
fn profile_url() -> Option<&'static str> {
Some("http://hl7.org/fhir/StructureDefinition/Patient")
}
}Sourcepub fn generate_validation_module() -> String
pub fn generate_validation_module() -> String
Generate the validation module file content
This creates the validation.rs file that contains the ValidatableResource trait.
Auto Trait Implementations§
impl Freeze for ValidationTraitGenerator
impl RefUnwindSafe for ValidationTraitGenerator
impl Send for ValidationTraitGenerator
impl Sync for ValidationTraitGenerator
impl Unpin for ValidationTraitGenerator
impl UnsafeUnpin for ValidationTraitGenerator
impl UnwindSafe for ValidationTraitGenerator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more