Struct jid::FullJid

source ·
pub struct FullJid { /* private fields */ }
Expand description

A struct representing a full Jabber ID, with a resource part.

A full JID is composed of 3 components, of which only the node is optional:

  • the (optional) node part is the part before the (optional) @.
  • the domain part is the mandatory part between the (optional) @ and before the /.
  • the resource part after the /.

Unlike a BareJid, it always contains a resource, and should only be used when you are certain there is no case where a resource can be missing. Otherwise, use a Jid or BareJid.

Implementations§

source§

impl FullJid

source

pub fn new(s: &str) -> Result<FullJid, Error>

Constructs a full Jabber ID containing all three components. This is of the form node@domain/resource, where node part is optional. If you want a non-fallible version, use FullJid::from_parts instead.

Examples
use jid::FullJid;

let jid = FullJid::new("node@domain/resource")?;

assert_eq!(jid.node_str(), Some("node"));
assert_eq!(jid.domain_str(), "domain");
assert_eq!(jid.resource_str(), "resource");
source

pub fn into_inner(self) -> String

Returns the inner String of this JID.

source

pub fn from_parts( node: Option<&NodePart>, domain: &DomainPart, resource: &ResourcePart ) -> FullJid

Build a FullJid from typed parts. This method cannot fail because it uses parts that have already been parsed and stringprepped into NodePart, DomainPart, and ResourcePart. This method allocates and does not consume the typed parts.

source

pub fn node(&self) -> Option<NodePart>

The optional node part of the JID, as a NodePart

source

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

The optional node part of the JID, as a stringy reference

source

pub fn domain(&self) -> DomainPart

The domain part of the JID, as a DomainPart

source

pub fn domain_str(&self) -> &str

The domain part of the JID, as a stringy reference

source

pub fn resource(&self) -> ResourcePart

The optional resource part of the JID, as a ResourcePart. Since this is a full JID it is always present.

source

pub fn resource_str(&self) -> &str

The optional resource of the Jabber ID. Since this is a full JID it is always present.

source

pub fn to_bare(&self) -> BareJid

Allocate a new BareJid from this full JID, discarding the resource.

source

pub fn into_bare(self) -> BareJid

Transforms this full JID into a BareJid, discarding the resource.

Trait Implementations§

source§

impl Clone for FullJid

source§

fn clone(&self) -> FullJid

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for FullJid

source§

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

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

impl Display for FullJid

source§

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

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

impl From<FullJid> for Jid

source§

fn from(full_jid: FullJid) -> Jid

Converts to this type from the input type.
source§

impl FromStr for FullJid

§

type Err = Error

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<FullJid, Error>

Parses a string s to return a value of this type. Read more
source§

impl Hash for FullJid

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq<FullJid> for FullJid

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<FullJid> for Jid

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialEq<Jid> for FullJid

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl TryFrom<Jid> for FullJid

§

type Error = Error

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

fn try_from(jid: Jid) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl Eq for FullJid

source§

impl StructuralEq for FullJid

source§

impl StructuralPartialEq for FullJid

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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> ToOwned for Twhere T: Clone,

§

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> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

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.