pub struct ApplicationId(/* private fields */);Expand description
A validated, portable reverse-DNS application identifier.
§Examples
use ailloli_ui_core::ApplicationId;
let id = ApplicationId::parse("org.example.paint-app")?;
assert_eq!(id.as_str(), "org.example.paint-app");Implementations§
Source§impl ApplicationId
impl ApplicationId
Sourcepub fn parse(value: impl Into<String>) -> Result<Self, AppIdentityError>
pub fn parse(value: impl Into<String>) -> Result<Self, AppIdentityError>
Parses an ASCII lowercase reverse-DNS identifier.
A valid identifier contains at least three dot-separated components.
Every component starts with a through z, may then contain lowercase
ASCII letters, digits, or hyphens, and does not end in a hyphen. The
complete UTF-8 string is limited to 255 bytes.
§Errors
Returns AppIdentityError::EmptyId for an empty string,
AppIdentityError::IdTooLong above 255 bytes, and
AppIdentityError::InvalidId for every other grammar violation.
§Examples
use ailloli_ui_core::ApplicationId;
let id = ApplicationId::parse("org.example.paint-app")?;
assert_eq!(id.as_str(), "org.example.paint-app");
assert!(ApplicationId::parse("Example_App").is_err());Sourcepub fn as_str(&self) -> &str
pub fn as_str(&self) -> &str
Returns the validated identifier exactly as supplied to Self::parse.
§Examples
use ailloli_ui_core::ApplicationId;
let id = ApplicationId::parse("org.example.paint")?;
assert_eq!(id.as_str(), "org.example.paint");Trait Implementations§
Source§impl AsRef<str> for ApplicationId
impl AsRef<str> for ApplicationId
Source§impl Clone for ApplicationId
impl Clone for ApplicationId
Source§fn clone(&self) -> ApplicationId
fn clone(&self) -> ApplicationId
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ApplicationId
impl Debug for ApplicationId
Source§impl<'de> Deserialize<'de> for ApplicationId
impl<'de> Deserialize<'de> for ApplicationId
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for ApplicationId
impl Display for ApplicationId
Source§impl Hash for ApplicationId
impl Hash for ApplicationId
Source§impl PartialEq for ApplicationId
impl PartialEq for ApplicationId
Source§impl Serialize for ApplicationId
impl Serialize for ApplicationId
impl Eq for ApplicationId
impl StructuralPartialEq for ApplicationId
Auto Trait Implementations§
impl Freeze for ApplicationId
impl RefUnwindSafe for ApplicationId
impl Send for ApplicationId
impl Sync for ApplicationId
impl Unpin for ApplicationId
impl UnwindSafe for ApplicationId
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
Mutably borrows from an owned value. Read more