pub struct ProjectRecord {
pub project_id: RecordId,
pub revision: u64,
pub name: String,
pub histograms: Vec<HistogramRecord>,
pub phases: Vec<StructuralPhaseRecord>,
pub metadata: BTreeMap<String, String>,
}Expand description
Revisioned application-neutral project snapshot.
Fields§
§project_id: RecordIdStable project identifier.
revision: u64Monotonically increasing adapter-owned revision.
name: StringHuman-readable project label.
histograms: Vec<HistogramRecord>Independently observed datasets.
phases: Vec<StructuralPhaseRecord>Project-owned phase definitions.
metadata: BTreeMap<String, String>Small textual metadata; bulk arrays remain typed fields.
Implementations§
Source§impl ProjectRecord
impl ProjectRecord
Sourcepub fn validate(&self) -> Result<(), DomainError>
pub fn validate(&self) -> Result<(), DomainError>
Validate cross-record identities and references.
Empty projects are allowed so an application can create a project before importing data. Once histograms exist, every phase reference must resolve.
§Errors
Returns DomainError for invalid labels, duplicate IDs/providers, or
dangling/duplicate phase references.
Sourcepub fn capability_diagnostics(
&self,
capabilities: &HostCapabilities,
) -> Vec<CapabilityDiagnostic>
pub fn capability_diagnostics( &self, capabilities: &HostCapabilities, ) -> Vec<CapabilityDiagnostic>
Return all missing extension-provider capabilities in stable order.
Trait Implementations§
Source§impl Clone for ProjectRecord
impl Clone for ProjectRecord
Source§fn clone(&self) -> ProjectRecord
fn clone(&self) -> ProjectRecord
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProjectRecord
impl Debug for ProjectRecord
Source§impl PartialEq for ProjectRecord
impl PartialEq for ProjectRecord
impl StructuralPartialEq for ProjectRecord
Auto Trait Implementations§
impl Freeze for ProjectRecord
impl RefUnwindSafe for ProjectRecord
impl Send for ProjectRecord
impl Sync for ProjectRecord
impl Unpin for ProjectRecord
impl UnsafeUnpin for ProjectRecord
impl UnwindSafe for ProjectRecord
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more