Struct cedar_policy_core::entities::Entities
source · pub struct Entities { /* private fields */ }
Expand description
Represents an entity hierarchy, and allows looking up Entity
objects by
UID.
Note that Entities
is Serialize
and Deserialize
, but currently this is
only used for the Dafny-FFI layer in DRT. All others use (and should use) the
from_json_*()
and write_to_json()
methods as necessary.
Implementations§
source§impl Entities
impl Entities
sourcepub fn entity(&self, uid: &EntityUID) -> Dereference<'_, Entity>
pub fn entity(&self, uid: &EntityUID) -> Dereference<'_, Entity>
Get the Entity
with the given UID, if any
sourcepub fn from_entities(
entities: impl IntoIterator<Item = Entity>,
tc_computation: TCComputation
) -> Result<Self>
pub fn from_entities( entities: impl IntoIterator<Item = Entity>, tc_computation: TCComputation ) -> Result<Self>
Create an Entities
object with the given entities.
If you pass TCComputation::AssumeAlreadyComputed
, then the caller is
responsible for ensuring that TC and DAG hold before calling this method.
sourcepub fn to_json_value(&self) -> Result<Value>
pub fn to_json_value(&self) -> Result<Value>
Convert an Entities
object into a JSON value suitable for parsing in
via EntityJsonParser
.
The returned JSON value will be parse-able even with no Schema
.
To parse an Entities
object from a JSON value, use EntityJsonParser
.
sourcepub fn write_to_json(&self, f: impl Write) -> Result<()>
pub fn write_to_json(&self, f: impl Write) -> Result<()>
Dump an Entities
object into an entities JSON file.
The resulting JSON will be suitable for parsing in via
EntityJsonParser
, and will be parse-able even with no Schema
.
To read an Entities
object from an entities JSON file, use
EntityJsonParser
.
sourcepub fn to_dot_str(&self) -> Result<String, Error>
pub fn to_dot_str(&self) -> Result<String, Error>
Write entities into a DOT graph