#[non_exhaustive]pub struct CombinatorialDerivation {
pub identity: Resource,
pub identified: IdentifiedData,
pub top_level: TopLevelData,
pub template: Option<Resource>,
pub strategy: Option<Iri>,
pub variable_features: Vec<Resource>,
}Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.identity: Resource§identified: IdentifiedData§top_level: TopLevelData§template: Option<Resource>§strategy: Option<Iri>§variable_features: Vec<Resource>Implementations§
Source§impl CombinatorialDerivation
impl CombinatorialDerivation
pub fn new( namespace: impl TryInto<Namespace, Error = BuildError>, display_id: impl TryInto<DisplayId, Error = BuildError>, template: Resource, ) -> Result<Self, BuildError>
pub fn builder( namespace: impl TryInto<Namespace, Error = BuildError>, display_id: impl TryInto<DisplayId, Error = BuildError>, ) -> Result<CombinatorialDerivationBuilder, BuildError>
Source§impl CombinatorialDerivation
impl CombinatorialDerivation
Sourcepub fn variants<'a, G>(
&self,
graph: &'a G,
) -> Result<VariantSet<'a>, ReferenceError>where
G: ObjectGraph + ?Sized,
pub fn variants<'a, G>(
&self,
graph: &'a G,
) -> Result<VariantSet<'a>, ReferenceError>where
G: ObjectGraph + ?Sized,
Expands this derivation’s VariableFeatures
into a VariantSet of concrete Components.
Variants from every VariableFeature are merged into one
VariantSet, grouped by source (VariantSet::from_variants,
VariantSet::from_collections, VariantSet::from_derivations).
Components are de-duplicated by identity within each source.
§Errors
Returns ReferenceError::NotFound for any IRI on a
VariableFeature’s variant, variantCollection, or
variantDerivation that is absent from graph, and
ReferenceError::WrongType when a referenced IRI resolves to
the wrong SBOL class.
Sourcepub fn template_component<'a, G>(
&self,
graph: &'a G,
) -> Result<&'a Component, ReferenceError>where
G: ObjectGraph + ?Sized,
pub fn template_component<'a, G>(
&self,
graph: &'a G,
) -> Result<&'a Component, ReferenceError>where
G: ObjectGraph + ?Sized,
Resolves CombinatorialDerivation::template to the referenced
Component.
§Errors
Returns ReferenceError::Missing when template is unset,
ReferenceError::NotFound when the IRI is not in graph, or
ReferenceError::WrongType when the IRI resolves to a non-Component.
Trait Implementations§
Source§impl Clone for CombinatorialDerivation
impl Clone for CombinatorialDerivation
Source§fn clone(&self) -> CombinatorialDerivation
fn clone(&self) -> CombinatorialDerivation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CombinatorialDerivation
impl Debug for CombinatorialDerivation
Source§impl PartialEq for CombinatorialDerivation
impl PartialEq for CombinatorialDerivation
Source§fn eq(&self, other: &CombinatorialDerivation) -> bool
fn eq(&self, other: &CombinatorialDerivation) -> bool
self and other values to be equal, and is used by ==.Source§impl SbolIdentified for CombinatorialDerivation
impl SbolIdentified for CombinatorialDerivation
Source§fn identified_data(&self) -> &IdentifiedData
fn identified_data(&self) -> &IdentifiedData
IdentifiedData this accessor reads from.
Implementors only need to forward to their identified field.Source§fn display_id(&self) -> Option<&str>
fn display_id(&self) -> Option<&str>
sbol:displayId, if present.Source§fn description(&self) -> Option<&str>
fn description(&self) -> Option<&str>
sbol:description, if present.Source§fn derived_from(&self) -> &[Resource]
fn derived_from(&self) -> &[Resource]
prov:wasDerivedFrom.Source§fn generated_by(&self) -> &[Resource]
fn generated_by(&self) -> &[Resource]
prov:wasGeneratedBy.Source§fn extensions(&self) -> &[ExtensionTriple]
fn extensions(&self) -> &[ExtensionTriple]
Source§impl SbolTopLevel for CombinatorialDerivation
impl SbolTopLevel for CombinatorialDerivation
Source§fn top_level_data(&self) -> &TopLevelData
fn top_level_data(&self) -> &TopLevelData
TopLevelData this accessor reads from.
Implementors only need to forward to their top_level field.Source§fn namespace(&self) -> Option<&Iri>
fn namespace(&self) -> Option<&Iri>
sbol:hasNamespace, if present. TopLevel objects in
well-formed SBOL documents always carry a namespace, but the
underlying graph may omit it — callers that require a namespace
should validate the document first.Source§fn attachments(&self) -> &[Resource]
fn attachments(&self) -> &[Resource]
sbol:Attachment resources attached via sbol:hasAttachment.