<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="Entry is the core data storage type of the server. Almost every aspect of the server is designed to read, handle and manipulate entries."><metaname="keywords"content="rust, rustlang, rust-lang, Entry"><title>Entry in kanidmd_lib::entry - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><linkrel="stylesheet"href="../../static.files/normalize-76eba96aa4d2e634.css"><linkrel="stylesheet"href="../../static.files/rustdoc-6827029ac823cab7.css"id="mainThemeStyle"><linkrel="stylesheet"id="themeStyle"href="../../static.files/light-ebce58d0a40c3431.css"><linkrel="stylesheet"disabledhref="../../static.files/dark-f23faae4a2daf9a6.css"><linkrel="stylesheet"disabledhref="../../static.files/ayu-8af5e100b21cd173.css"><scriptid="default-settings"></script><scriptsrc="../../static.files/storage-d43fa987303ecbbb.js"></script><scriptdefersrc="sidebar-items.js"></script><scriptdefersrc="../../static.files/main-c55e1eb52e1886b4.js"></script><noscript><linkrel="stylesheet"href="../../static.files/noscript-13285aec31fa243e.css"></noscript><linkrel="alternate icon"type="image/png"href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><linkrel="alternate icon"type="image/png"href="../../static.files/favicon-32x32-422f7d1d52889060.png"><linkrel="icon"type="image/svg+xml"href="../../static.files/favicon-2c020d218678b618.svg"></head><bodyclass="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../kanidmd_lib/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../static.files/rust-logo-151179464ae7ed46.svg"alt="logo"></div></a><h2></h2></nav><navclass="sidebar"><aclass="sidebar-logo"href="../../kanidmd_lib/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../static.files/rust-logo-151179464ae7ed46.svg"alt="logo"></div></a><h2class="location"><ahref="#">Entry</a></h2><divclass="sidebar-elems"><section><h3><ahref="#implementations">Methods</a></h3><ulclass="block"><li><ahref="#method.add_ava">add_ava</a></li><li><ahref="#method.add_ava-1">add_ava</a></li><li><ahref="#method.apply_modlist">apply_modlist</a></li><li><ahref="#method.assign_cid">assign_cid</a></li><li><ahref="#method.attribute_equality">attribute_equality</a></li><li><ahref="#method.attribute_lessthan">attribute_lessthan</a></li><li><ahref="#method.attribute_pres">attribute_pres</a></li><li><ahref="#method.attribute_substring">attribute_substring</a></li><li><ahref="#method.compare">compare</a></li><li><ahref="#method.compare-1">compare</a></li><li><ahref="#method.compare-2">compare</a></li><li><ahref="#method.entry_match_no_index">entry_match_no_index</a></li><li><ahref="#method.filter_from_attrs">filter_from_attrs</a></li><li><ahref="#method.from_dbentry">from_dbentry</a></li><li><ahref="#method.from_proto_entry">from_proto_entry</a></li><li><ahref="#method.from_proto_entry_str">from_proto_entry_str</a></li><li><ahref="#method.from_repl_ent
designed to read, handle and manipulate entries.</p>
<p>Entries store attribute value assertions, or AVA. These are sets of key-values.</p>
<p>Entries have a lifecycle within a single operation, and as part of replication.
The lifecycle for operations is defined through state and valid types. Each entry has a pair
Of these types at anytime. The first is the AVA <ahref="../schema/index.html"><code>schema</code></a> and <ahref="../access/index.html"><code>access</code></a> control assertion
state. This is represented by the type <code>VALID</code> as one of <code>EntryValid</code>, <code>EntryInvalid</code> or
<code>EntryReduced</code>. Every entry starts as <code>EntryInvalid</code>, and when checked by the schema for
correctness, transitions to <code>EntryValid</code>. While an entry is <code>EntryValid</code> it can not be
altered - you must invalidate it to <code>EntryInvalid</code>, then modify, then check again.
An entry that has had access controls applied moves from <code>EntryValid</code> to <code>EntryReduced</code>,
to show that the AVAs have reduced to the valid read set of the current <ahref="../event/index.html"><code>event</code></a> user.</p>
<p>The second type of <code>STATE</code> represents the database commit state and internal db ID’s. A
new entry that has never been committed is <code>EntryNew</code>, but an entry that has been retrieved
from the database is <code>EntryCommitted</code>. This affects the operations you can apply IE modify
or delete.</p>
<p>These types exist to prevent at compile time, mishandling of Entries, to ensure they are always
handled with the correct lifecycles and processes.</p>
</div></details><h2id="implementations"class="small-section-header">Implementations<ahref="#implementations"class="anchor">§</a></h2><divid="implementations-list"><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CEntryInit%2C%20EntryNew%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#250-593">source</a><ahref="#impl-Entry%3CEntryInit%2C%20EntryNew%3E"class="anchor">§</a><h3class="code-header">impl <aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryInit.html"title="struct kanidmd_lib::entry::EntryInit">EntryInit</a>, <aclass="struct"href="struct.EntryNew.html"title="struct kanidmd_lib::entry::EntryNew">EntryNew</a>></h3></section></summary><divclass="impl-items"><sectionid="method.new"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#251-259">source</a><h4class="code-header">pub fn <ahref="#method.new"class="fn">new</a>() -> Self</h4></section><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.from_proto_entry"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#263-298">source</a><h4class="code-header">pub fn <ahref="#method.from_proto_entry"class="fn">from_proto_entry</a>(<br> e: &ProtoEntry,<br> qs: &mut <aclass="struct"href="../server/struct.QueryServerWriteTransaction.html"title="struct kanidmd_lib::server::QueryServerWriteTransaction">QueryServerWriteTransaction</a><'_><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html"title="enum core::result::Result">Result</a><Self, <aclass="enum"href="../prelude/enum.OperationError.html"title="enum kanidmd_lib::prelude::OperationError">OperationError</a>></h4></section></summary><divclass="docblock"><p>Consume a Protocol Entry from JSON, and validate and process the data into an internal
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.from_proto_entry_str"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#302">source</a><h4class="code-header">pub fn <ahref="#method.from_proto_entry_str"class="fn">from_proto_entry_str</a>(<br> es: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>,<br> qs: &mut <aclass="struct"href="../server/struct.QueryServerWriteTransaction.html"title="struct kanidmd_lib::server::QueryServerWriteTransaction">QueryServerWriteTransaction</a><'_><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html"title="enum core::result::Result">Result</a><Self, <aclass="enum"href="../prelude/enum.OperationError.html"title="enum kanidmd_lib::prelude::OperationError">OperationError</a>></h4></section></summary><divclass="docblock"><p>Given a proto entry in JSON formed as a serialised string, processed that string
into an Entry.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.assign_cid"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#482-503">source</a><h4class="code-header">pub fn <ahref="#method.assign_cid"class="fn">assign_cid</a>(<br> self,<br> cid: Cid,<br> schema: &dyn <aclass="trait"href="../schema/trait.SchemaTransaction.html"title="trait kanidmd_lib::schema::SchemaTransaction">SchemaTransaction</a><br>) -><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryInvalid.html"title="struct kanidmd_lib::entry::EntryInvalid">EntryInvalid</a>, <aclass="struct"href="struct.EntryNew.html"title="struct kanidmd_lib::entry::EntryNew">EntryNew</a>></h4></section></summary><divclass="docblock"><p>Assign the Change Identifier to this Entry, allowing it to be modified and then
written to the <code>Backend</code></p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.compare"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#506-508">source</a><h4class="code-header">pub fn <ahref="#method.compare"class="fn">compare</a>(&self, rhs: &<aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntrySealed.html"title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Compare this entry to another.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.add_ava"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#578-580">source</a><h4class="code-header">pub fn <ahref="#method.add_ava"class="fn">add_ava</a>(&mut self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>, value: <aclass="enum"href="../value/enum.Value.html"title="enum kanidmd_lib::value::Value">Value</a>)</h4></section></summary><divclass="docblock"><p>Add an attribute-value-assertion to this Entry.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.set_ava"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#583-588">source</a><h4class="code-header">pub fn <ahref="#method.set_ava"class="fn">set_ava</a><T>(&mut self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>, iter: T)<spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/iter/traits/collect/trait.IntoIterator.html"title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = <aclass="enum"href="../value/enum.Value.html"title="enum kanidmd_lib::value::Value">Value</a>>,</span></h4></section></summary><divclass="docblock"><p>Replace the existing content of an attribute set of this Entry, with a new set of Values.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CEntryInvalid%2C%20EntryCommitted%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#690-733">source</a><ahref="#impl-Entry%3CEntryInvalid%2C%20EntryCommitted%3E"class="anchor">§</a><h3class="code-header">impl <aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryInvalid.html"title="struct kanidmd_lib::entry::EntryInvalid">EntryInvalid</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_recycled"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#705-717">source</a><h4class="code-header">pub fn <ahref="#method.to_recycled"class="fn">to_recycled</a>(self) -> Self</h4></section></summary><divclass="docblock"><p>Convert this entry into a recycled entry, that is “in the recycle bin”.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_revived"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#720-732">source</a><h4class="code-header">pub fn <ahref="#method.to_revived"class="fn">to_revived</a>(self) -> Self</h4></section></summary><divclass="docblock"><p>Convert this entry into a recycled entry, that is “in the recycle bin”.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CEntrySealed%2C%20EntryNew%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#810-833">source</a><ahref="#impl-Entry%3CEntrySealed%2C%20EntryNew%3E"class="anchor">§</a><h3class="code-header">impl <aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntrySealed.html"title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, <aclass="struct"href="struct.EntryNew.html"title="struct kanidmd_lib::entry::EntryNew">EntryNew</a>></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.into_sealed_committed_id"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#822-828">source</a><h4class="code-header">pub fn <ahref="#method.into_sealed_committed_id"class="fn">into_sealed_committed_id</a>(<br> self,<br> id: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.u64.html">u64</a><br>) -><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntrySealed.html"title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h4></section></summary><divclass="docblock"><p>Given this validated and sealed entry, process it with a <code>Backend</code> ID number so that it
can be then serialised to the database.</p>
</div></details><sectionid="method.compare-1"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#830-832">source</a><h4class="code-header">pub fn <ahref="#method.compare-1"class="fn">compare</a>(&self, rhs: &<aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntrySealed.html"title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, <aclass="struct"href="struct.EntryNew.html"title="struct kanidmd_lib::entry::EntryNew">EntryNew</a>>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CVALID%2C%20EntryCommitted%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#838-843">source</a><ahref="#impl-Entry%3CVALID%2C%20EntryCommitted%3E"class="anchor">§</a><h3class="code-header">impl<VALID><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><VALID, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_id"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#840-842">source</a><h4class="code-header">pub fn <ahref="#method.get_id"class="fn">get_id</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.u64.html">u64</a></h4></section></summary><divclass="docblock"><p>If this entry has ever been committed to disk, retrieve it’s database id number.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CEntrySealed%2C%20STATE%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#845-853">source</a><ahref="#impl-Entry%3CEntrySealed%2C%20STATE%3E"class="anchor">§</a><h3class="code-header">impl<STATE><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntrySealed.html"title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, STATE></h3></section></summary><divclass="impl-items"><sectionid="method.into_init"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#846-852">source</a><h4class="code-header">pub fn <ahref="#method.into_init"class="fn">into_init</a>(self) -><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryInit.html"title="struct kanidmd_lib::entry::EntryInit">EntryInit</a>, STATE></h4></section></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CEntrySealed%2C%20EntryCommitted%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#855-1441">source</a><ahref="#impl-Entry%3CEntrySealed%2C%20EntryCommitted%3E"class="anchor">§</a><h3class="code-header">impl <aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntrySealed.html"title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.insert_claim"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#870-872">source</a><h4class="code-header">pub fn <ahref="#method.insert_claim"class="fn">insert_claim</a>(&mut self, value: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>)</h4></section></summary><divclass="docblock"><p>Insert a claim to this entry. This claim can NOT be persisted to disk, this is only
used during a single Event session.</p>
</div></details><sectionid="method.compare-2"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#874-876">source</a><h4class="code-header">pub fn <ahref="#method.compare-2"class="fn">compare</a>(&self, rhs: &<aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntrySealed.html"title="struct kanidmd_lib::entry::EntrySealed">EntrySealed</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_dbentry"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#879-900">source</a><h4class="code-header">pub fn <ahref="#method.to_dbentry"class="fn">to_dbentry</a>(&self) -><aclass="struct"href="../be/dbentry/struct.DbEntry.html"title="struct kanidmd_lib::be::dbentry::DbEntry">DbEntry</a></h4></section></summary><divclass="docblock"><p>Serialise this entry to it’s Database format ready for storage.</p>
<p>This function bypasses the access control validation logic and should NOT
be used without special care and attention to ensure that no private data
is leaked incorrectly to clients. Generally this is ONLY used inside of
the access control processing functions which correctly applies the reduction
steps.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.reduce_attributes"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1368-1395">source</a><h4class="code-header">pub fn <ahref="#method.reduce_attributes"class="fn">reduce_attributes</a>(<br> &self,<br> allowed_attrs: &<aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><&<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>><br>) -><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryReduced.html"title="struct kanidmd_lib::entry::EntryReduced">EntryReduced</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h4></section></summary><divclass="docblock"><p>Given a set of attributes that are allowed to be seen on this entry, process and remove
all other values that are NOT allowed in this query.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_tombstone"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1398-1418">source</a><h4class="code-header">pub fn <ahref="#method.to_tombstone"class="fn">to_tombstone</a>(&self, cid: Cid) -><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryInvalid.html"title="struct kanidmd_lib::entry::EntryInvalid">EntryInvalid</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h4></section></summary><divclass="docblock"><p>Convert this recycled entry, into a tombstone ready for reaping.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.into_valid"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1421-1430">source</a><h4class="code-header">pub fn <ahref="#method.into_valid"class="fn">into_valid</a>(<br> self,<br> ecstate: EntryChangeState<br>) -><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryValid.html"title="struct kanidmd_lib::entry::EntryValid">EntryValid</a>, <aclass="struct"href="struct.EntryCommitted.html"title="struct kanidmd_lib::entry::EntryCommitted">EntryCommitted</a>></h4></section></summary><divclass="docblock"><p>Given a current transaction change identifier, mark this entry as valid and committed.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.to_ldap"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1762-1848">source</a><h4class="code-header">pub fn <ahref="#method.to_ldap"class="fn">to_ldap</a>(<br> &self,<br> qs: &mut <aclass="struct"href="../server/struct.QueryServerReadTransaction.html"title="struct kanidmd_lib::server::QueryServerReadTransaction">QueryServerReadTransaction</a><'_>,<br> basedn: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>,<br> all_attrs: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a>,<br> l_attrs: &[<aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/string/struct.String.html"title="struct alloc::string::String">String</a>]<br>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html"title="enum core::result::Result">Result</a><LdapSearchResultEntry, <aclass="enum"href="../prelude/enum.OperationError.html"title="enum kanidmd_lib::prelude::OperationError">OperationError</a>></h4></section></summary><divclass="docblock"><p>Transform this reduced entry into an LDAP form that can be sent to clients.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CVALID%2C%20STATE%3E"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1852-2387">source</a><ahref="#impl-Entry%3CVALID%2C%20STATE%3E"class="anchor">§</a><h3class="code-header">impl<VALID, STATE><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><VALID, STATE></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_names"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1899-1902">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_names"class="fn">get_ava_names</a>(&self) -> impl <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/iter/traits/iterator/trait.Iterator.html"title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>></h4></section></summary><divclass="docblock"><p>Get an iterator over the current set of attribute names that this entry contains.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1906-1908">source</a><h4class="code-header">pub fn <ahref="#method.get_ava"class="fn">get_ava</a>(&self) ->&<aclass="type"href="type.Eattrs.html"title="type kanidmd_lib::entry::Eattrs">Eattrs</a></h4></section></summary><divclass="docblock"><p>Get an iterator over the current set of values for an attribute name.</p>
</div></details><sectionid="method.get_ava_iter"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1911-1913">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_iter"class="fn">get_ava_iter</a>(&self) -> impl <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/iter/traits/iterator/trait.Iterator.html"title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = (&<aclass="type"href="../prelude/type.AttrString.html"title="type kanidmd_lib::prelude::AttrString">AttrString</a>, &<aclass="type"href="../valueset/type.ValueSet.html"title="type kanidmd_lib::valueset::ValueSet">ValueSet</a>)></h4></section><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_set"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1917-1919">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_set"class="fn">get_ava_set</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="type"href="../valueset/type.ValueSet.html"title="type kanidmd_lib::valueset::ValueSet">ValueSet</a>></h4></section></summary><divclass="docblock"><p>Return a reference to the current set of values that are associated to this attribute.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_iter_iutf8"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1990-1992">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_iter_iutf8"class="fn">get_ava_iter_iutf8</a>(<br> &self,<br> attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><impl <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/iter/traits/iterator/trait.Iterator.html"title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>>></h4></section></summary><divclass="docblock"><p>If possible, return an iterator over the set of values transformed into a <code>&str</code>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_as_refuuid"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#1996-1999">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_as_refuuid"class="fn">get_ava_as_refuuid</a>(<br> &self,<br> attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/boxed/struct.Box.html"title="struct alloc::boxed::Box">Box</a><dyn <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/iter/traits/iterator/trait.Iterator.html"title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = <aclass="struct"href="../prelude/struct.Uuid.html"title="struct kanidmd_lib::prelude::Uuid">Uuid</a>> + '_>></h4></section></summary><divclass="docblock"><p>If possible, return an iterator over the set of values transformed into a <code>Uuid</code>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_iter_sshpubkeys"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2003-2006">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_iter_sshpubkeys"class="fn">get_ava_iter_sshpubkeys</a>(<br> &self,<br> attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><impl <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/iter/traits/iterator/trait.Iterator.html"title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>>></h4></section></summary><divclass="docblock"><p>If possible, return an iterator over the set of ssh key values transformed into a <code>&str</code>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2030-2032">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single"class="fn">get_ava_single</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="enum"href="../value/enum.Value.html"title="enum kanidmd_lib::value::Value">Value</a>></h4></section></summary><divclass="docblock"><p>Return a single value of this attributes name, or <code>None</code> if it is NOT present, or
</div></details><sectionid="method.get_ava_single_proto_string"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2034-2038">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_proto_string"class="fn">get_ava_single_proto_string</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/string/struct.String.html"title="struct alloc::string::String">String</a>></h4></section><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_bool"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2042-2044">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_bool"class="fn">get_ava_single_bool</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a>></h4></section></summary><divclass="docblock"><p>Return a single bool, if valid to transform this value into a boolean.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_uint32"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2048-2050">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_uint32"class="fn">get_ava_single_uint32</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.u32.html">u32</a>></h4></section></summary><divclass="docblock"><p>Return a single uint32, if valid to transform this value.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_syntax"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2054-2058">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_syntax"class="fn">get_ava_single_syntax</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="enum"href="../value/enum.SyntaxType.html"title="enum kanidmd_lib::value::SyntaxType">SyntaxType</a>></h4></section></summary><divclass="docblock"><p>Return a single syntax type, if valid to transform this value.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_credential"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2062-2066">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_credential"class="fn">get_ava_single_credential</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="struct"href="../credential/struct.Credential.html"title="struct kanidmd_lib::credential::Credential">Credential</a>></h4></section></summary><divclass="docblock"><p>Return a single credential, if valid to transform this value.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_passkeys"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2070-2072">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_passkeys"class="fn">get_ava_passkeys</a>(<br> &self,<br> attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/collections/btree/map/struct.BTreeMap.html"title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><<aclass="struct"href="../prelude/struct.Uuid.html"title="struct kanidmd_lib::prelude::Uuid">Uuid</a>, (<aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/string/struct.String.html"title="struct alloc::string::String">String</a>, PasskeyV4)>></h4></section></summary><divclass="docblock"><p>Get the set of passkeys on this account, if any are present.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_devicekeys"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2076-2078">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_devicekeys"class="fn">get_ava_devicekeys</a>(<br> &self,<br> attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/collections/btree/map/struct.BTreeMap.html"title="struct alloc::collections::btree::map::BTreeMap">BTreeMap</a><<aclass="struct"href="../prelude/struct.Uuid.html"title="struct kanidmd_lib::prelude::Uuid">Uuid</a>, (<aclass="struct"href="https://doc.rust-lang.org/1.67.1/alloc/string/struct.String.html"title="struct alloc::string::String">String</a>, DeviceKeyV4)>></h4></section></summary><divclass="docblock"><p>Get the set of devicekeys on this account, if any are present.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_uihint"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2082-2084">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_uihint"class="fn">get_ava_uihint</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="struct"href="../idm/authsession/struct.Set.html"title="struct kanidmd_lib::idm::authsession::Set">BTreeSet</a><UiHint>></h4></section></summary><divclass="docblock"><p>Get the set of uihints on this account, if any are present.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_secret"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2088-2090">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_secret"class="fn">get_ava_single_secret</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>></h4></section></summary><divclass="docblock"><p>Return a single secret value, if valid to transform this value.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_datetime"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2094-2096">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_datetime"class="fn">get_ava_single_datetime</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><OffsetDateTime></h4></section></summary><divclass="docblock"><p>Return a single datetime, if valid to transform this value.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.get_ava_single_url"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2118-2120">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_url"class="fn">get_ava_single_url</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&<aclass="struct"href="../prelude/struct.Url.html"title="struct kanidmd_lib::prelude::Url">Url</a>></h4></section></summary><divclass="docblock"><p>Return a single <code>&Url</code>, if valid to transform this value.</p>
</div></details><sectionid="method.get_ava_single_private_binary"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2148-2152">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_private_binary"class="fn">get_ava_single_private_binary</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&[<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.u8.html">u8</a>]></h4></section><sectionid="method.get_ava_single_jws_key_es256"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2154-2158">source</a><h4class="code-header">pub fn <ahref="#method.get_ava_single_jws_key_es256"class="fn">get_ava_single_jws_key_es256</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&JwsSigner></h4></section><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.attribute_pres"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2169-2171">source</a><h4class="code-header">pub fn <ahref="#method.attribute_pres"class="fn">attribute_pres</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Assert if an attribute of this name is present on this entry.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.attribute_equality"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2176-2185">source</a><h4class="code-header">pub fn <ahref="#method.attribute_equality"class="fn">attribute_equality</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>, value: &<aclass="enum"href="../value/enum.PartialValue.html"title="enum kanidmd_lib::value::PartialValue">PartialValue</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Assert if an attribute of this name is present, and one of it’s values contains
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.attribute_substring"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2190-2195">source</a><h4class="code-header">pub fn <ahref="#method.attribute_substring"class="fn">attribute_substring</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>, subvalue: &<aclass="enum"href="../value/enum.PartialValue.html"title="enum kanidmd_lib::value::PartialValue">PartialValue</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Assert if an attribute of this name is present, and one of it’s values contains
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.attribute_lessthan"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2200-2205">source</a><h4class="code-header">pub fn <ahref="#method.attribute_lessthan"class="fn">attribute_lessthan</a>(&self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>, subvalue: &<aclass="enum"href="../value/enum.PartialValue.html"title="enum kanidmd_lib::value::PartialValue">PartialValue</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Assert if an attribute of this name is present, and one of it’s values is less than
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.entry_match_no_index"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2213-2216">source</a><h4class="code-header">pub fn <ahref="#method.entry_match_no_index"class="fn">entry_match_no_index</a>(&self, filter: &<aclass="struct"href="../filter/struct.Filter.html"title="struct kanidmd_lib::filter::Filter">Filter</a><<aclass="struct"href="../filter/struct.FilterValidResolved.html"title="struct kanidmd_lib::filter::FilterValidResolved">FilterValidResolved</a>>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Test if the following filter applies to and matches this entry.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.filter_from_attrs"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2252-2284">source</a><h4class="code-header">pub fn <ahref="#method.filter_from_attrs"class="fn">filter_from_attrs</a>(<br> &self,<br> attrs: &[<aclass="type"href="../prelude/type.AttrString.html"title="type kanidmd_lib::prelude::AttrString">AttrString</a>]<br>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="struct"href="../filter/struct.Filter.html"title="struct kanidmd_lib::filter::Filter">Filter</a><<aclass="struct"href="../filter/struct.FilterInvalid.html"title="struct kanidmd_lib::filter::FilterInvalid">FilterInvalid</a>>></h4></section></summary><divclass="docblock"><p>Given this entry, generate a filter containing the requested attributes strings as
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.gen_modlist_assert"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2288-2336">source</a><h4class="code-header">pub fn <ahref="#method.gen_modlist_assert"class="fn">gen_modlist_assert</a>(<br> &self,<br> schema: &dyn <aclass="trait"href="../schema/trait.SchemaTransaction.html"title="trait kanidmd_lib::schema::SchemaTransaction">SchemaTransaction</a><br>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="struct"href="../modify/struct.ModifyList.html"title="struct kanidmd_lib::modify::ModifyList">ModifyList</a><<aclass="struct"href="../modify/struct.ModifyInvalid.html"title="struct kanidmd_lib::modify::ModifyInvalid">ModifyInvalid</a>>, <aclass="enum"href="../prelude/enum.SchemaError.html"title="enum kanidmd_lib::prelude::SchemaError">SchemaError</a>></h4></section></summary><divclass="docblock"><p>Given this entry, generate a modification list that would “assert”
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.mask_recycled_ts"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2340-2354">source</a><h4class="code-header">pub fn <ahref="#method.mask_recycled_ts"class="fn">mask_recycled_ts</a>(&self) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>Self></h4></section></summary><divclass="docblock"><p>Determine if this entry is recycled or a tombstone, and map that to “None”. This allows
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.mask_recycled"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2358-2370">source</a><h4class="code-header">pub fn <ahref="#method.mask_recycled"class="fn">mask_recycled</a>(&self) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>Self></h4></section></summary><divclass="docblock"><p>Determine if this entry is recycled, and map that to “None”. This allows
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.mask_tombstone"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2374-2386">source</a><h4class="code-header">pub fn <ahref="#method.mask_tombstone"class="fn">mask_tombstone</a>(&self) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>Self></h4></section></summary><divclass="docblock"><p>Determine if this entry is a tombstone, and map that to “None”. This allows
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Entry%3CEntryInvalid%2C%20STATE%3E-1"class="impl has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2389-2531">source</a><ahref="#impl-Entry%3CEntryInvalid%2C%20STATE%3E-1"class="anchor">§</a><h3class="code-header">impl<STATE><aclass="struct"href="struct.Entry.html"title="struct kanidmd_lib::entry::Entry">Entry</a><<aclass="struct"href="struct.EntryInvalid.html"title="struct kanidmd_lib::entry::EntryInvalid">EntryInvalid</a>, STATE><spanclass="where fmt-newline">where<br> STATE: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><divclass="impl-items"><sectionid="method.add_ava-1"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2397-2405">source</a><h4class="code-header">pub fn <ahref="#method.add_ava-1"class="fn">add_ava</a>(&mut self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>, value: <aclass="enum"href="../value/enum.Value.html"title="enum kanidmd_lib::value::Value">Value</a>)</h4></section><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.pop_ava"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2472-2476">source</a><h4class="code-header">pub fn <ahref="#method.pop_ava"class="fn">pop_ava</a>(&mut self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.67.1/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="type"href="../valueset/type.ValueSet.html"title="type kanidmd_lib::valueset::ValueSet">ValueSet</a>></h4></section></summary><divclass="docblock"><p>Remove all values of this attribute from the entry, and return their content.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.set_ava-1"class="method has-srclink"><aclass="srclink rightside"href="../../src/kanidmd_lib/entry.rs.html#2480-2492">source</a><h4class="code-header">pub fn <ahref="#method.set_ava-1"class="fn">set_ava</a><T>(&mut self, attr: &<aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.str.html">str</a>, iter: T)<spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a> + <aclass="trait"href="https://doc.rust-lang.org/1.67.1/core/iter/traits/collect/trait.IntoIterator.html"title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = <aclass="enum"href="../value/enum.Value.html"title="enum kanidmd_lib::value::Value">Value</a>>,</span></h4></section></summary><divclass="docblock"><p>Replace the content of this attribute with a new value set. Effectively this is
by <code>==</code>. <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.ne"class="method trait-impl has-srclink"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="srclink"href="https://doc.rust-lang.org/1.67.1/src/core/cmp.rs.html#229">source</a></span><ahref="#method.ne"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.67.1/core/cmp/trait.PartialEq.html#method.ne"class="fn">ne</a>(&self, other: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&</a>Rhs) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.bool.html">bool</a></h4></section></summary><divclass='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"><summary><sectionid="impl-Instrument-for-Entry%3CVALID%2C%20STATE%3E"class="impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#276">source</a><ahref="#impl-Instrument-for-Entry%3CVALID%2C%20STATE%3E"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html"title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.instrument"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#82">source</a><ahref="#method.instrument"class="anchor">§</a><h4class="code-header">fn <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument"class="fn">instrument</a>(self, span: <aclass="struct"href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html"title="struct tracing::span::Span">Span</a>) -><aclass="struct"href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.Instrumented.html"title="struct tracing::instrument::Instrumented">Instrumented</a><Self></h4></section></summary><divclass='docblock'>Instruments this type with the provided <ahref="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html"title="Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.in_current_span"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#121">source</a><ahref="#method.in_current_span"class="anchor">§</a><h4class="code-header">fn <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span"class="fn">in_current_span</a>(self) -><aclass="struct"href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.Instrumented.html"title="struct tracing::instrument::Instrumented">Instrumented</a><Self></h4></section></summary><divclass='docblock'>Instruments this type with the <ahref="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html#method.current">current</a><ahref="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html"><code>Span</code></a>, returning an
<p>That is, this conversion is whatever the implementation of
<code><ahref="https://doc.rust-lang.org/1.67.1/core/convert/trait.From.html"title="From">From</a><T> for U</code> chooses to do.</p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"><summary><sectionid="impl-Pointable-for-Entry%3CVALID%2C%20STATE%3E"class="impl has-srclink"><ahref="#impl-Pointable-for-Entry%3CVALID%2C%20STATE%3E"class="anchor">§</a><h3class="code-header">impl<T> Pointable for T</h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedconstant.ALIGN"class="associatedconstant trait-impl has-srclink"><ahref="#associatedconstant.ALIGN"class="anchor">§</a><h4class="code-header">const <aclass="constant">ALIGN</a>: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a> = mem::align_of::<T>()</h4></section></summary><divclass='docblock'>The alignment of pointer.</div></details><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.Init"class="associatedtype trait-impl has-srclink"><ahref="#associatedtype.Init"class="anchor">§</a><h4class="code-header">type <aclass="associatedtype">Init</a> = T</h4></section></summary><divclass='docblock'>The type for initializers.</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.init"class="method trait-impl has-srclink"><ahref="#method.init"class="anchor">§</a><h4class="code-header">unsafe fn <aclass="fn">init</a>(init: <T as Pointable>::Init) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a></h4></section></summary><divclass='docblock'>Initializes a with the given initializer. <a>Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.deref"class="method trait-impl has-srclink"><ahref="#method.deref"class="anchor">§</a><h4class="code-header">unsafe fn <aclass="fn">deref</a><'a>(ptr: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&'a </a>T</h4></section></summary><divclass='docblock'>Dereferences the given pointer. <a>Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.deref_mut"class="method trait-impl has-srclink"><ahref="#method.deref_mut"class="anchor">§</a><h4class="code-header">unsafe fn <aclass="fn">deref_mut</a><'a>(ptr: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.reference.html">&'a mut </a>T</h4></section></summary><divclass='docblock'>Mutably dereferences the given pointer. <a>Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.drop"class="method trait-impl has-srclink"><ahref="#method.drop"class="anchor">§</a><h4class="code-header">unsafe fn <aclass="fn">drop</a>(ptr: <aclass="primitive"href="https://doc.rust-lang.org/1.67.1/std/primitive.usize.html">usize</a>)</h4></section></summary><divclass='docblock'>Drops the object pointed to by the given pointer. <a>Read more</a></div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"><summary><sectionid="impl-Same%3CT%3E-for-Entry%3CVALID%2C%20STATE%3E"class="impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/typenum/1.16.0/src/typenum/type_operators.rs.html#34">source</a><ahref="#impl-Same%3CT%3E-for-Entry%3CVALID%2C%20STATE%3E"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://docs.rs/typenum/1.16.0/typenum/type_operators/trait.Same.html"title="trait typenum::type_operators::Same">Same</a><T> for T</h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.Output"class="associatedtype trait-impl has-srclink"><ahref="#associatedtype.Output"class="anchor">§</a><h4class="code-header">type <ahref="https://docs.rs/typenum/1
<ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html"title="WithDispatch"><code>WithDispatch</code></a> wrapper. <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.with_current_subscriber"class="method trait-impl has-srclink"><aclass="srclink rightside"href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#221">source</a><ahref="#method.with_current_subscriber"class="anchor">§</a><h4class="code-header">fn <ahref="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber"class="fn">with_current_subscriber</a>(self) -><aclass="struct"href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html"title="struct tracing::instrument::WithDispatch">WithDispatch</a><Self></h4></section></summary><divclass='docblock'>Attaches the current <ahref="https://docs.rs/tracing/0.1.37/tracing/dispatcher/index.html#setting-the-default-subscriber">default</a><ahref="https://docs.rs/tracing-core/0.1.22/tracing_core/subscriber/trait.Subscriber.html"><code>Subscriber</code></a> to this type, returning a