pub struct ContractFile {
pub policies: Vec<Policy>,
pub risk_limits: Vec<RiskLimit>,
pub approval_rules: Vec<ApprovalRule>,
pub approval_requests: Vec<ApprovalRequest>,
pub approval_decisions: Vec<ApprovalDecision>,
pub conditions: Vec<Condition>,
pub obligations: Vec<Obligation>,
pub violations: Vec<Violation>,
pub path: Option<PathBuf>,
}Expand description
In-memory representation of a .acon file.
Fields§
§policies: Vec<Policy>Policies.
risk_limits: Vec<RiskLimit>Risk limits.
approval_rules: Vec<ApprovalRule>Approval rules.
approval_requests: Vec<ApprovalRequest>Approval requests.
approval_decisions: Vec<ApprovalDecision>Approval decisions.
conditions: Vec<Condition>Conditions.
obligations: Vec<Obligation>Obligations.
violations: Vec<Violation>Violations.
path: Option<PathBuf>Source file path (not serialized in the file body).
Implementations§
Source§impl ContractFile
impl ContractFile
Sourcepub fn open(path: impl Into<PathBuf>) -> ContractResult<Self>
pub fn open(path: impl Into<PathBuf>) -> ContractResult<Self>
Create from a file path, loading if it exists.
Sourcepub fn load(path: &Path) -> ContractResult<Self>
pub fn load(path: &Path) -> ContractResult<Self>
Load from file.
Sourcepub fn save(&self) -> ContractResult<()>
pub fn save(&self) -> ContractResult<()>
Save to file.
Sourcepub fn total_entities(&self) -> usize
pub fn total_entities(&self) -> usize
Get total entity count across all types.
Sourcepub fn find_policy(&self, id: ContractId) -> Option<&Policy>
pub fn find_policy(&self, id: ContractId) -> Option<&Policy>
Find a policy by ID.
Sourcepub fn find_risk_limit(&self, id: ContractId) -> Option<&RiskLimit>
pub fn find_risk_limit(&self, id: ContractId) -> Option<&RiskLimit>
Find a risk limit by ID.
Sourcepub fn find_risk_limit_mut(&mut self, id: ContractId) -> Option<&mut RiskLimit>
pub fn find_risk_limit_mut(&mut self, id: ContractId) -> Option<&mut RiskLimit>
Find a mutable risk limit by ID.
Sourcepub fn find_obligation(&self, id: ContractId) -> Option<&Obligation>
pub fn find_obligation(&self, id: ContractId) -> Option<&Obligation>
Find an obligation by ID.
Sourcepub fn find_obligation_mut(&mut self, id: ContractId) -> Option<&mut Obligation>
pub fn find_obligation_mut(&mut self, id: ContractId) -> Option<&mut Obligation>
Find a mutable obligation by ID.
Trait Implementations§
Source§impl Clone for ContractFile
impl Clone for ContractFile
Source§fn clone(&self) -> ContractFile
fn clone(&self) -> ContractFile
Returns a duplicate of the value. Read more
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 Debug for ContractFile
impl Debug for ContractFile
Source§impl Default for ContractFile
impl Default for ContractFile
Source§impl<'de> Deserialize<'de> for ContractFile
impl<'de> Deserialize<'de> for ContractFile
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ContractFile
impl RefUnwindSafe for ContractFile
impl Send for ContractFile
impl Sync for ContractFile
impl Unpin for ContractFile
impl UnsafeUnpin for ContractFile
impl UnwindSafe for ContractFile
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