pub struct OdrlEngine { /* private fields */ }Expand description
An ODRL policy engine.
The engine holds a parsed OdrlDocument and evaluates requests against
all matching rules. It applies ODRL’s conflict resolution: prohibitions
take precedence over permissions when both match the same (subject, action, target).
Every check emits a structured OdrlAuditEvent via tracing.
Implementations§
Source§impl OdrlEngine
impl OdrlEngine
Sourcepub fn new(doc: OdrlDocument) -> Self
pub fn new(doc: OdrlDocument) -> Self
Build an engine from a parsed document.
Sourcepub fn with_context(self, ctx: ConstraintContext) -> Self
pub fn with_context(self, ctx: ConstraintContext) -> Self
Override the default constraint context (e.g., set purpose for all checks).
Sourcepub fn check_with_context(
&self,
subject: &str,
action: &str,
resource: &str,
ctx: &ConstraintContext,
) -> PolicyResult
pub fn check_with_context( &self, subject: &str, action: &str, resource: &str, ctx: &ConstraintContext, ) -> PolicyResult
Run a check with a specific context (overrides per-call).
Trait Implementations§
Source§impl PolicyEngine for OdrlEngine
impl PolicyEngine for OdrlEngine
Source§fn with_fallback(self, fallback: Arc<dyn PolicyEngine>) -> FallbackEngine<Self>where
Self: Sized,
fn with_fallback(self, fallback: Arc<dyn PolicyEngine>) -> FallbackEngine<Self>where
Self: Sized,
Compose this engine with a fallback. Read more
Auto Trait Implementations§
impl Freeze for OdrlEngine
impl RefUnwindSafe for OdrlEngine
impl Send for OdrlEngine
impl Sync for OdrlEngine
impl Unpin for OdrlEngine
impl UnsafeUnpin for OdrlEngine
impl UnwindSafe for OdrlEngine
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