pub struct Entity { /* private fields */ }Expand description
Entity datatype
Implementations§
Source§impl Entity
impl Entity
Sourcepub fn new(
uid: EntityUID,
attrs: HashMap<SmolStr, RestrictedExpr>,
ancestors: HashSet<EntityUID>,
extensions: &Extensions<'_>,
) -> Result<Self, EntityAttrEvaluationError>
pub fn new( uid: EntityUID, attrs: HashMap<SmolStr, RestrictedExpr>, ancestors: HashSet<EntityUID>, extensions: &Extensions<'_>, ) -> Result<Self, EntityAttrEvaluationError>
Create a new Entity with this UID, attributes, and ancestors
§Errors
- Will error if any of the [
RestrictedExpr]s inattrserror when evaluated
Sourcepub fn new_with_attr_partial_value(
uid: EntityUID,
attrs: HashMap<SmolStr, PartialValue>,
ancestors: HashSet<EntityUID>,
) -> Self
pub fn new_with_attr_partial_value( uid: EntityUID, attrs: HashMap<SmolStr, PartialValue>, ancestors: HashSet<EntityUID>, ) -> Self
Create a new Entity with this UID, attributes, and ancestors.
Unlike in Entity::new(), in this constructor, attributes are expressed
as PartialValue.
Sourcepub fn new_with_attr_partial_value_serialized_as_expr(
uid: EntityUID,
attrs: BTreeMap<SmolStr, PartialValueSerializedAsExpr>,
ancestors: HashSet<EntityUID>,
) -> Self
pub fn new_with_attr_partial_value_serialized_as_expr( uid: EntityUID, attrs: BTreeMap<SmolStr, PartialValueSerializedAsExpr>, ancestors: HashSet<EntityUID>, ) -> Self
Create a new Entity with this UID, attributes, and ancestors.
Unlike in Entity::new(), in this constructor, attributes are expressed
as PartialValueSerializedAsExpr.
Sourcepub fn get(&self, attr: &str) -> Option<&PartialValue>
pub fn get(&self, attr: &str) -> Option<&PartialValue>
Get the value for the given attribute, or None if not present
Sourcepub fn is_descendant_of(&self, e: &EntityUID) -> bool
pub fn is_descendant_of(&self, e: &EntityUID) -> bool
Is this Entity a descendant of e in the entity hierarchy?
Sourcepub fn ancestors(&self) -> impl Iterator<Item = &EntityUID>
pub fn ancestors(&self) -> impl Iterator<Item = &EntityUID>
Iterate over this entity’s ancestors
Sourcepub fn keys(&self) -> impl Iterator<Item = &SmolStr>
pub fn keys(&self) -> impl Iterator<Item = &SmolStr>
Iterate over this entity’s attribute names
Sourcepub fn attrs(&self) -> impl Iterator<Item = (&SmolStr, &PartialValue)>
pub fn attrs(&self) -> impl Iterator<Item = (&SmolStr, &PartialValue)>
Iterate over this entity’s attributes
Sourcepub fn with_uid(uid: EntityUID) -> Self
pub fn with_uid(uid: EntityUID) -> Self
Create an Entity with the given UID, no attributes, and no parents.
Sourcepub fn into_inner(
self,
) -> (EntityUID, HashMap<SmolStr, PartialValue>, HashSet<EntityUID>)
pub fn into_inner( self, ) -> (EntityUID, HashMap<SmolStr, PartialValue>, HashSet<EntityUID>)
Consume the entity and return the entity’s owned Uid, attributes and parents.
Sourcepub fn write_to_json(&self, f: impl Write) -> Result<(), EntitiesError>
pub fn write_to_json(&self, f: impl Write) -> Result<(), EntitiesError>
Write the entity to a json document
Sourcepub fn to_json_value(&self) -> Result<Value, EntitiesError>
pub fn to_json_value(&self) -> Result<Value, EntitiesError>
write the entity to a json value
Sourcepub fn to_json_string(&self) -> Result<String, EntitiesError>
pub fn to_json_string(&self) -> Result<String, EntitiesError>
write the entity to a json string
Trait Implementations§
Source§impl TCNode<EntityUID> for Entity
impl TCNode<EntityUID> for Entity
Source§fn add_edge_to(&mut self, k: EntityUID)
fn add_edge_to(&mut self, k: EntityUID)
k.Source§fn out_edges(&self) -> Box<dyn Iterator<Item = &EntityUID> + '_>
fn out_edges(&self) -> Box<dyn Iterator<Item = &EntityUID> + '_>
Source§fn has_edge_to(&self, e: &EntityUID) -> bool
fn has_edge_to(&self, e: &EntityUID) -> bool
k.impl Eq for Entity
Auto Trait Implementations§
impl Freeze for Entity
impl RefUnwindSafe for Entity
impl Send for Entity
impl Sync for Entity
impl Unpin for Entity
impl UnwindSafe for Entity
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
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>
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>
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