pub struct Statement { /* private fields */ }
Expand description
Structure showing evidence of any sort of experience or event to be tracked in xAPI as a Learning Record.
A set of several Statements, each representing an event in time, might be used to track complete details about a learning experience.
Implementations§
Source§impl Statement
impl Statement
Sourcepub fn from_json_obj(map: Map<String, Value>) -> Result<Self, DataError>
pub fn from_json_obj(map: Map<String, Value>) -> Result<Self, DataError>
Construct and validate a Statement from a JSON map.
Sourcepub fn builder() -> StatementBuilder
pub fn builder() -> StatementBuilder
Return a Statement Builder.
Sourcepub fn id(&self) -> Option<&Uuid>
pub fn id(&self) -> Option<&Uuid>
Return the id
field (a UUID) if set; None
otherwise. It’s assigned by
the LRS if not already set by the LRP.
Sourcepub fn is_verb_voided(&self) -> bool
pub fn is_verb_voided(&self) -> bool
Return TRUE if verb
is voided; FALSE otherwise.
Sourcepub fn object(&self) -> &StatementObject
pub fn object(&self) -> &StatementObject
Sourcepub fn voided_target(&self) -> Option<Uuid>
pub fn voided_target(&self) -> Option<Uuid>
Return the UUID of the (target) Statement to be voided by this one iff (a) the verb is voided, and (b) the object is a StatementRef.
Return None
otherwise.
Sourcepub fn context(&self) -> Option<&Context>
pub fn context(&self) -> Option<&Context>
Return the Context of this instance if set; None
otherwise.
Sourcepub fn timestamp(&self) -> Option<&DateTime<Utc>>
pub fn timestamp(&self) -> Option<&DateTime<Utc>>
Return the timestamp of when the events described within this Statement
occurred as a chrono::DateTime
if set; None
otherwise.
It’s set by the LRS if not provided.
Sourcepub fn timestamp_internal(&self) -> Option<&MyTimestamp>
pub fn timestamp_internal(&self) -> Option<&MyTimestamp>
Return the timestamp of when the events described within this Statement
occurred if set; None
otherwise.
It’s set by the LRS if not provided.
Sourcepub fn stored(&self) -> Option<&DateTime<Utc>>
pub fn stored(&self) -> Option<&DateTime<Utc>>
Return the timestamp of when this Statement was persisted if set;
None
otherwise.
Sourcepub fn version(&self) -> Option<&MyVersion>
pub fn version(&self) -> Option<&MyVersion>
Return the Statement’s associated xAPI version if set; None
otherwise.
When set, it’s expected to be formatted according to Semantic Versioning 1.0.0.
Sourcepub fn attachments(&self) -> &[Attachment]
pub fn attachments(&self) -> &[Attachment]
Return a reference to the potentially empty array of attachments
.
Sourcepub fn attachments_mut(&mut self) -> &mut [Attachment]
pub fn attachments_mut(&mut self) -> &mut [Attachment]
Return a mutable reference to the potentially empty array of attachments
.
Sourcepub fn set_attachments(&mut self, attachments: Vec<Attachment>)
pub fn set_attachments(&mut self, attachments: Vec<Attachment>)
Set (as in replace) attachments
field of this instance to the given
value.
Sourcepub fn equivalent(&self, that: &Statement) -> bool
pub fn equivalent(&self, that: &Statement) -> bool
Return TRUE if this is Equivalent to that
and FALSE otherwise.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Statement
impl<'de> Deserialize<'de> for Statement
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>,
Source§impl Fingerprint for Statement
impl Fingerprint for Statement
Source§impl Validate for Statement
impl Validate for Statement
Source§fn validate(&self) -> Vec<ValidationError>
fn validate(&self) -> Vec<ValidationError>
IMPORTANT - xAPI mandates that… The LRS shall specifically not consider any of the following for equivalence, nor is it responsible for preservation as described above for the following properties/cases:
- Case (upper vs. lower)
- Id
- Order of any Group Members
- Authority
- Stored
- Timestamp
- Version
- Any attachments
- Any referenced Activity Definitions
Source§fn is_valid(&self) -> bool
fn is_valid(&self) -> bool
Source§fn check_validity(&self) -> Result<(), ValidationError>
fn check_validity(&self) -> Result<(), ValidationError>
impl StructuralPartialEq for Statement
Auto Trait Implementations§
impl Freeze for Statement
impl RefUnwindSafe for Statement
impl Send for Statement
impl Sync for Statement
impl Unpin for Statement
impl UnwindSafe for Statement
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoCollection<T> for T
impl<T> IntoCollection<T> for T
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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string
, but without panic on OOM.