Skip to main content

CategoryMap

Struct CategoryMap 

Source
pub struct CategoryMap { /* private fields */ }
Expand description

The deployment’s category map.

Implementations§

Source§

impl CategoryMap

Source

pub fn classify(&self, evidence: &Evidence) -> Classification

The categories of an access that showed evidence.

The categories of every root object and every queried id are joined, and none never removes one. The access is of no category only when its resource kind holds none, or when the map declares none by an exact key for everything it reached and nothing is uncertain; it is unclassified otherwise.

Source§

impl CategoryMap

Source

pub fn declare( national: &[String], templates: &BTreeMap<String, Declared>, archetypes: &BTreeMap<String, Declared>, ) -> Result<Self, MapError>

The map templates and archetypes declare, their categories read against the six priority categories and the national ones, each declared <system>|<code>, its keys compared exactly.

§Errors

The first MapError CategoryMap::declare_with finds.

Source

pub fn declare_with( matching: Matching, national: &[String], templates: &BTreeMap<String, Declared>, archetypes: &BTreeMap<String, Declared>, ) -> Result<Self, MapErrors>

The map templates and archetypes declare, compared by matching, their categories read against the six priority categories and the national ones, each declared <system>|<code>.

§Errors

MapErrors with every defect: a refused national code, an empty or malformed key, an archetype key that is no ARCHETYPE_ID, two keys that name the same id, a word other than none, an empty list, and a code that names no category.

Source

pub fn with_evidence_limit(self, limit: usize) -> Self

This map, keeping at most limit ids in each evidence set of a classification, with each set’s true count beside it.

Source

pub fn evidence_limit(&self) -> Option<usize>

The most ids a classification keeps in each evidence set, when the map bounds them.

Source

pub fn matching(&self) -> Matching

How the map compares an id with its keys.

Source

pub fn templates(&self) -> impl Iterator<Item = (&str, &Mapping)>

Every template key, as declared, with what it maps to, in key order.

Source

pub fn archetypes(&self) -> impl Iterator<Item = (&str, &Mapping)>

Every archetype key, as declared, with what it maps to, in key order.

Source

pub fn national(&self) -> impl Iterator<Item = &NationalCategory>

Every national category the map declares, in order.

Source

pub fn with_digest(self, digest: String) -> Self

This map, named by digest, such as a hash of CategoryMap::canonical.

Source

pub fn digest(&self) -> Option<&str>

The digest the map is named by, when one was given.

Source

pub fn template(&self, template_id: &str) -> Option<&Mapping>

What template_id maps to, when the map holds it under its matching.

Source

pub fn archetype(&self, archetype_id: &str) -> Option<&Mapping>

What archetype_id maps to, when the map holds it under its matching.

Source

pub fn category(&self, reference: &str) -> Option<Category>

The category reference names: a priority category by its bare code or as <system>|<code>, or a national one the map declares, as <system>|<code>. Codes are compared exactly.

Source

pub fn categories(&self) -> impl Iterator<Item = Category> + '_

Every category the map can name: the six priority categories of Art 14(1) in their order, then each national category it declares.

Source

pub fn is_empty(&self) -> bool

Whether the map holds no key.

Source

pub fn canonical(&self) -> String

The map as text that is the same for the same declarations: a line matching\topenehr for a map compared as openEHR BASE asks, one line per national category, then per template and per archetype key, each field separated by a tab, the categories by ,, each category as <system>|<code>.

Trait Implementations§

Source§

impl Clone for CategoryMap

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CategoryMap

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CategoryMap

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for CategoryMap

Source§

impl PartialEq for CategoryMap

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for CategoryMap

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more