Trait DomainValidator

Source
pub trait DomainValidator {
    // Required methods
    fn domain_name(&self) -> &str;
    fn supported_reference_types(&self) -> Vec<ReferenceType>;
    fn register_object(
        &mut self,
        object: DomainObject,
    ) -> Result<(), BuildError>;
    fn resolve_reference(
        &self,
        reference: &CrossReference,
    ) -> Option<DomainObject>;
    fn validate_reference(
        &self,
        reference: &CrossReference,
    ) -> ReferenceValidationResult;
    fn get_all_objects(&self) -> Vec<&DomainObject>;
    fn clear_objects(&mut self);
}
Expand description

Core trait for domain validation

Required Methods§

Source

fn domain_name(&self) -> &str

Get the name of this domain

Source

fn supported_reference_types(&self) -> Vec<ReferenceType>

Get the reference types this domain handles

Source

fn register_object(&mut self, object: DomainObject) -> Result<(), BuildError>

Register a domain object

Source

fn resolve_reference(&self, reference: &CrossReference) -> Option<DomainObject>

Resolve a reference to a domain object

Source

fn validate_reference( &self, reference: &CrossReference, ) -> ReferenceValidationResult

Validate a cross-reference

Source

fn get_all_objects(&self) -> Vec<&DomainObject>

Get all objects in this domain

Source

fn clear_objects(&mut self)

Clear all registered objects (for rebuilds)

Implementors§