pub struct Model { /* private fields */ }Implementations§
Source§impl Model
impl Model
pub fn new( identifier: Identifier, base_model: &Arc<dyn ModelDescriptor>, ) -> Self
pub fn set_identifier(&mut self, identifier: Identifier)
pub fn reset_designer(&self)
pub fn designer( &self, collection: Arc<Collection>, design_reference: Option<Arc<dyn Reference>>, ) -> LogicResult<Arc<RwLock<Designer>>>
pub fn commit_design(&self) -> LogicResult<()>
pub fn design(&self) -> LogicResult<Arc<Design>>
pub fn update_with_collection( &mut self, collection: &Collection, replace: &HashMap<Identifier, Identifier>, ) -> LogicResult<()>
pub fn set_documentation(&mut self, documentation: &str)
pub fn add_attribute(&mut self, name: String, attribute: Attribute)
pub fn remove_attribute(&mut self, name: &str) -> bool
pub fn add_parameter(&mut self, parameter: Parameter)
pub fn remove_parameter(&mut self, name: &str) -> bool
pub fn commit(self) -> Arc<Self>
Trait Implementations§
Source§impl Attribuable for Model
impl Attribuable for Model
fn attributes(&self) -> &Attributes
Source§impl Buildable<ModelBuildMode> for Model
impl Buildable<ModelBuildMode> for Model
fn build_mode(&self) -> ModelBuildMode
Source§impl Clone for Model
impl Clone for Model
Source§fn clone(&self) -> Self
fn clone(&self) -> Self
Clone model descriptor.
The descriptor and its inner descriptive elements are all cloned, but not the designer nor the related design. The cloned descriptor need to be commited.
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Documented for Model
impl Documented for Model
fn documentation(&self) -> &str
Source§impl Identified for Model
impl Identified for Model
fn identifier(&self) -> &Identifier
Source§impl Model for Model
impl Model for Model
fn is_core_model(&self) -> bool
fn base_model(&self) -> Option<Arc<dyn ModelDescriptor>>
fn sources(&self) -> &HashMap<String, Vec<Arc<dyn Context>>>
fn as_identified(&self) -> Arc<dyn Identified>
fn as_buildable(&self) -> Arc<dyn Buildable<ModelBuildMode>>
fn as_parameterized(&self) -> Arc<dyn Parameterized>
Source§impl Parameterized for Model
impl Parameterized for Model
fn parameters(&self) -> &HashMap<String, Parameter>
fn as_identified(&self) -> Arc<dyn Identified>
Auto Trait Implementations§
impl !Freeze for Model
impl !RefUnwindSafe for Model
impl Send for Model
impl Sync for Model
impl Unpin for Model
impl UnsafeUnpin for Model
impl !UnwindSafe for Model
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.