[][src]Struct jid::BareJid

pub struct BareJid {
    pub node: Option<String>,
    pub domain: String,
}

A struct representing a bare Jabber ID.

A bare Jabber ID is composed of 2 components, of which one is optional:

  • A node/name, node, which is the optional part before the @.
  • A domain, domain, which is the mandatory part after 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 enum.

Fields

node: Option<String>

The node part of the Jabber ID, if it exists, else None.

domain: String

The domain of the Jabber ID.

Methods

impl BareJid[src]

pub fn new<NS, DS>(node: NS, domain: DS) -> BareJid where
    NS: Into<String>,
    DS: Into<String>, 
[src]

Constructs a bare Jabber ID, containing two components.

This is of the form node@domain.

Examples

use jid::BareJid;

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

assert_eq!(jid.node, Some("node".to_owned()));
assert_eq!(jid.domain, "domain".to_owned());

pub fn domain<DS>(domain: DS) -> BareJid where
    DS: Into<String>, 
[src]

Constructs a bare Jabber ID containing only a domain.

This is of the form domain.

Examples

use jid::BareJid;

let jid = BareJid::domain("domain");

assert_eq!(jid.node, None);
assert_eq!(jid.domain, "domain".to_owned());

pub fn with_node<NS>(&self, node: NS) -> BareJid where
    NS: Into<String>, 
[src]

Constructs a new Jabber ID from an existing one, with the node swapped out with a new one.

Examples

use jid::BareJid;

let jid = BareJid::domain("domain");

assert_eq!(jid.node, None);

let new_jid = jid.with_node("node");

assert_eq!(new_jid.node, Some("node".to_owned()));

pub fn with_domain<DS>(&self, domain: DS) -> BareJid where
    DS: Into<String>, 
[src]

Constructs a new Jabber ID from an existing one, with the domain swapped out with a new one.

Examples

use jid::BareJid;

let jid = BareJid::domain("domain");

assert_eq!(jid.domain, "domain");

let new_jid = jid.with_domain("new_domain");

assert_eq!(new_jid.domain, "new_domain");

pub fn with_resource<RS>(self, resource: RS) -> FullJid where
    RS: Into<String>, 
[src]

Constructs a full Jabber ID from a bare Jabber ID, specifying a resource.

Examples

use jid::BareJid;

let bare = BareJid::new("node", "domain");
let full = bare.with_resource("resource");

assert_eq!(full.node, Some("node".to_owned()));
assert_eq!(full.domain, "domain".to_owned());
assert_eq!(full.resource, "resource".to_owned());

Trait Implementations

impl From<BareJid> for Jid[src]

impl From<BareJid> for String[src]

impl Clone for BareJid[src]

impl Into<BareJid> for FullJid[src]

impl Eq for BareJid[src]

impl PartialEq<BareJid> for BareJid[src]

impl Debug for BareJid[src]

impl Display for BareJid[src]

impl Hash for BareJid[src]

impl FromStr for BareJid[src]

type Err = JidParseError

The associated error which can be returned from parsing.

Auto Trait Implementations

impl Unpin for BareJid

impl Sync for BareJid

impl Send for BareJid

impl UnwindSafe for BareJid

impl RefUnwindSafe for BareJid

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]