pub struct Policy {
pub id: ConceptId,
pub name: String,
pub namespace: String,
pub version: SemanticVersion,
pub modality: PolicyModality,
pub kind: PolicyKind,
pub priority: i32,
pub rationale: Option<String>,
pub tags: Vec<String>,
/* private fields */
}Fields§
§id: ConceptId§name: String§namespace: String§version: SemanticVersion§modality: PolicyModality§kind: PolicyKind§priority: i32§rationale: Option<String>Implementations§
Source§impl Policy
impl Policy
Sourcepub fn normalized_expression(&self) -> &NormalizedExpression
pub fn normalized_expression(&self) -> &NormalizedExpression
Returns the normalized canonical form of this policy’s expression.
Useful for caching, equivalence checking, and deterministic display.
Sourcepub fn expression(&self) -> &Expression
pub fn expression(&self) -> &Expression
Get the policy expression.
Sourcepub fn set_expression(&mut self, expr: Expression)
pub fn set_expression(&mut self, expr: Expression)
Set the policy expression and invalidate the normalized cache.
pub fn new(name: impl Into<String>, expression: Expression) -> Self
pub fn new_with_namespace( name: impl Into<String>, namespace: impl Into<String>, expression: Expression, ) -> Self
pub fn with_modality(self, modality: PolicyModality) -> Self
pub fn with_version(self, version: SemanticVersion) -> Self
pub fn with_kind(self, kind: PolicyKind) -> Self
pub fn with_priority(self, priority: i32) -> Self
pub fn with_rationale(self, rationale: impl Into<String>) -> Self
pub fn with_metadata( self, kind: Option<PolicyKind>, modality: Option<PolicyModality>, priority: Option<i32>, rationale: Option<String>, tags: Vec<String>, ) -> Self
pub fn kind(&self) -> &PolicyKind
pub fn evaluate(&self, graph: &Graph) -> Result<EvaluationResult, String>
pub fn evaluate_with_mode( &self, graph: &Graph, use_three_valued_logic: bool, ) -> Result<EvaluationResult, String>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Policy
impl<'de> Deserialize<'de> for Policy
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 Policy
impl RefUnwindSafe for Policy
impl Send for Policy
impl Sync for Policy
impl Unpin for Policy
impl UnwindSafe for Policy
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