Struct jid::BareJid

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

A struct representing a bare Jabber ID, without a resource part.

A bare JID is composed of 2 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 /.

Unlike a FullJid, it can’t contain a resource, and should only be used when you are certain there is no case where a resource can be set. Otherwise, use a Jid or FullJid.

Implementations§

source§

impl BareJid

source

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

Constructs a bare Jabber ID, containing two components. This is of the form node@domain, where node part is optional. If you want a non-fallible version, use BareJid::from_parts instead.

Examples
use jid::BareJid;

let jid = BareJid::new("node@domain")?;

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

pub fn into_inner(self) -> String

Returns the inner String of this JID.

source

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

Build a BareJid from typed parts. This method cannot fail because it uses parts that have already been parsed and stringprepped into NodePart and DomainPart. 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 with_resource(&self, resource: &ResourcePart) -> FullJid

Constructs a BareJid from the bare JID, by specifying a ResourcePart. If you’d like to specify a stringy resource, use BareJid::with_resource_str instead.

Examples
use jid::{BareJid, ResourcePart};

let resource = ResourcePart::new("resource").unwrap();
let bare = BareJid::new("node@domain").unwrap();
let full = bare.with_resource(&resource);

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

pub fn with_resource_str(&self, resource: &str) -> Result<FullJid, Error>

Constructs a FullJid from the bare JID, by specifying a stringy resource. If your resource has already been parsed into a ResourcePart, use BareJid::with_resource.

Examples
use jid::BareJid;

let bare = BareJid::new("node@domain").unwrap();
let full = bare.with_resource_str("resource").unwrap();

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

Trait Implementations§

source§

impl Clone for BareJid

source§

fn clone(&self) -> BareJid

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 BareJid

source§

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

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

impl Display for BareJid

source§

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

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

impl From<BareJid> for Jid

source§

fn from(bare_jid: BareJid) -> Jid

Converts to this type from the input type.
source§

impl FromStr for BareJid

§

type Err = Error

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

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

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

impl Hash for BareJid

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<BareJid> for BareJid

source§

fn eq(&self, other: &BareJid) -> 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<BareJid> for Jid

source§

fn eq(&self, other: &BareJid) -> 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 BareJid

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 Eq for BareJid

source§

impl StructuralEq for BareJid

source§

impl StructuralPartialEq for BareJid

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.