pub struct Validator { /* private fields */ }Expand description
Structure containing the context needed for policy validation. This is
currently only the EntityTypes and ActionTypes from a single schema.
Implementations§
Source§impl Validator
impl Validator
Sourcepub fn validate_enum_entity<'a>(
schema: &'a ValidatorSchema,
template: &'a Template,
) -> impl Iterator<Item = ValidationError> + 'a
pub fn validate_enum_entity<'a>( schema: &'a ValidatorSchema, template: &'a Template, ) -> impl Iterator<Item = ValidationError> + 'a
Validate if a Template contains entities of enumerated entity types
but with invalid UIDs
Sourcepub fn validate_entity_types<'a>(
schema: &'a ValidatorSchema,
template: &'a Template,
) -> impl Iterator<Item = ValidationError> + 'a
pub fn validate_entity_types<'a>( schema: &'a ValidatorSchema, template: &'a Template, ) -> impl Iterator<Item = ValidationError> + 'a
Generate UnrecognizedEntityType error for every entity type in the
expression that could not also be found in the schema.
Sourcepub fn validate_action_ids<'a>(
schema: &'a ValidatorSchema,
template: &'a Template,
) -> impl Iterator<Item = ValidationError> + 'a
pub fn validate_action_ids<'a>( schema: &'a ValidatorSchema, template: &'a Template, ) -> impl Iterator<Item = ValidationError> + 'a
Generate UnrecognizedActionId error for every entity id with an action
entity type where the id could not be found in the actions list from the
schema.
Source§impl Validator
impl Validator
Sourcepub fn new(schema: ValidatorSchema) -> Validator
pub fn new(schema: ValidatorSchema) -> Validator
Construct a new Validator from a schema file.
Sourcepub fn schema(&self) -> &ValidatorSchema
pub fn schema(&self) -> &ValidatorSchema
Get the ValidatorSchema this Validator is using.
Sourcepub fn validate(
&self,
policies: &PolicySet,
mode: ValidationMode,
) -> ValidationResult
pub fn validate( &self, policies: &PolicySet, mode: ValidationMode, ) -> ValidationResult
Validate all templates, links, and static policies in a policy set.
Return a ValidationResult.
Sourcepub fn validate_with_level(
&self,
policies: &PolicySet,
mode: ValidationMode,
max_deref_level: u32,
) -> ValidationResult
pub fn validate_with_level( &self, policies: &PolicySet, mode: ValidationMode, max_deref_level: u32, ) -> ValidationResult
Validate all templates, links, and static policies in a policy set.
If validation passes, also run level validation with max_deref_level
(see RFC 76).
Return a ValidationResult.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Validator
impl RefUnwindSafe for Validator
impl Send for Validator
impl Sync for Validator
impl Unpin for Validator
impl UnwindSafe for Validator
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