pub struct AssertionMetadata { /* private fields */ }Expand description
The AssertionMetadata structure can be used as part of other assertions or on its own to reference others
Implementations§
Source§impl AssertionMetadata
impl AssertionMetadata
Sourcepub const LABEL: &'static str = labels::ASSERTION_METADATA
pub const LABEL: &'static str = labels::ASSERTION_METADATA
Label prefix for an assertion metadata assertion.
See Metadata About Assertions - C2PA Technical Specification.
pub fn new() -> Self
Sourcepub fn reviews(&self) -> Option<&[ReviewRating]>
pub fn reviews(&self) -> Option<&[ReviewRating]>
Returns the list of ReviewRating for this assertion if it exists.
Sourcepub fn date_time(&self) -> Option<&str>
pub fn date_time(&self) -> Option<&str>
Returns the ISO 8601 date-time string when the assertion was created/generated.
Sourcepub fn localizations(
&self,
) -> Option<&Vec<HashMap<String, HashMap<String, String>>>>
pub fn localizations( &self, ) -> Option<&Vec<HashMap<String, HashMap<String, String>>>>
Returns the vec of localizations maps if they exist.
Sourcepub fn data_source(&self) -> Option<&DataSource>
pub fn data_source(&self) -> Option<&DataSource>
Returns the DataSource for this assertion if it exists.
Sourcepub fn region_of_interest(&self) -> Option<&RegionOfInterest>
pub fn region_of_interest(&self) -> Option<&RegionOfInterest>
Returns the RegionOfInterest for this assertion if it exists.
Sourcepub fn add_review(self, review: ReviewRating) -> Self
pub fn add_review(self, review: ReviewRating) -> Self
Adds a ReviewRating associated with the assertion.
Sourcepub fn set_reviews(self, reviews: Vec<ReviewRating>) -> Self
pub fn set_reviews(self, reviews: Vec<ReviewRating>) -> Self
Sets the list of ReviewRatings associated with the assertion.
This replaces any previous list.
Sourcepub fn set_date_time(self, date_time: String) -> Self
pub fn set_date_time(self, date_time: String) -> Self
Sets the ISO 8601 date-time string when the assertion was created/generated.
Sourcepub fn set_data_source(self, data_source: DataSource) -> Self
pub fn set_data_source(self, data_source: DataSource) -> Self
Sets a description of the source of the assertion data, selected from a predefined list.
Sourcepub fn set_region_of_interest(
self,
region_of_interest: RegionOfInterest,
) -> Self
pub fn set_region_of_interest( self, region_of_interest: RegionOfInterest, ) -> Self
Sets the region of interest.
Sourcepub fn set_localizations(
self,
localizations: Vec<HashMap<String, HashMap<String, String>>>,
) -> Self
pub fn set_localizations( self, localizations: Vec<HashMap<String, HashMap<String, String>>>, ) -> Self
Sets all localizations, replacing any existing ones
Sourcepub fn set_field<S: Into<String>>(self, key: S, value: Value) -> Self
pub fn set_field<S: Into<String>>(self, key: S, value: Value) -> Self
Sets an arbitrary key/value pair in the metadata.
This allows adding custom fields that are not part of the standard schema, as permitted by the C2PA specification.
§Arguments
key- The key for the custom fieldvalue- The value as a serde_json::Value
§Example
use c2pa::assertions::AssertionMetadata;
use serde_json::json;
let metadata = AssertionMetadata::new()
.set_field("customKey", json!("customValue"))
.set_field("nestedObject", json!({"foo": "bar", "count": 42}));Sourcepub fn get_field(&self, key: &str) -> Option<&Value>
pub fn get_field(&self, key: &str) -> Option<&Value>
Gets an arbitrary key/value pair from the metadata.
Returns None if the key doesn’t exist.
§Arguments
key- The key to look up
Sourcepub fn additional_fields(&self) -> &HashMap<String, Value>
pub fn additional_fields(&self) -> &HashMap<String, Value>
Returns a reference to all additional fields.
Trait Implementations§
Source§impl Clone for AssertionMetadata
impl Clone for AssertionMetadata
Source§fn clone(&self) -> AssertionMetadata
fn clone(&self) -> AssertionMetadata
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AssertionMetadata
impl Debug for AssertionMetadata
Source§impl Default for AssertionMetadata
impl Default for AssertionMetadata
Source§impl<'de> Deserialize<'de> for AssertionMetadata
impl<'de> Deserialize<'de> for AssertionMetadata
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 Display for AssertionMetadata
impl Display for AssertionMetadata
Source§impl JsonSchema for AssertionMetadata
Available on crate feature json_schema only.
impl JsonSchema for AssertionMetadata
json_schema only.Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for AssertionMetadata
impl PartialEq for AssertionMetadata
Source§impl Serialize for AssertionMetadata
impl Serialize for AssertionMetadata
impl StructuralPartialEq for AssertionMetadata
Auto Trait Implementations§
impl Freeze for AssertionMetadata
impl RefUnwindSafe for AssertionMetadata
impl Send for AssertionMetadata
impl Sync for AssertionMetadata
impl Unpin for AssertionMetadata
impl UnsafeUnpin for AssertionMetadata
impl UnwindSafe for AssertionMetadata
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.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> 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> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.