Struct gedcomx::Agent[][src]

#[non_exhaustive]
pub struct Agent { pub id: Option<Id>, pub identifiers: Vec<Identifier>, pub names: Vec<TextValue>, pub homepage: Option<ResourceReference>, pub openid: Option<ResourceReference>, pub accounts: Vec<OnlineAccount>, pub emails: Vec<ResourceReference>, pub phones: Vec<ResourceReference>, pub addresses: Vec<Address>, pub person: Option<ResourceReference>, }
Expand description

Someone or something that curates genealogical data, such as a genealogical researcher, user of software, organization, or group.

In genealogical research, an agent often takes the role of a contributor.

Fields (Non-exhaustive)

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
id: Option<Id>

An identifier for the data structure holding the agent data. The id is to be used as a “fragment identifier” as defined by RFC 3986, Section 3.5. As such, the constraints of the id are provided in the definition of the media type (e.g. XML, JSON) of the data structure.

identifiers: Vec<Identifier>

A list of identifiers for the agent.

names: Vec<TextValue>

The name(s) of the person or organization. If more than one name is provided, names are assumed to be given in order of preference, with the most preferred name in the first position in the list.

homepage: Option<ResourceReference>

The homepage of the person or organization. Note this is different from the homepage of the service where the person or organization has an account.

openid: Option<ResourceReference>

The openid of the person or organization.

accounts: Vec<OnlineAccount>

The online account(s) of the person or organization.

emails: Vec<ResourceReference>

The email address(es) of the person or organization. If provided, MUST resolve to a valid e-mail address (e.g. “mailto:someone@gedcomx.org”).

phones: Vec<ResourceReference>

The phone(s) (voice, fax, mobile) of the person or organization. If provided, MUST resolve to a valid phone number (e.g. “tel:+1-201-555-0123”).

addresses: Vec<Address>

The address(es) of the person or organization.

person: Option<ResourceReference>

A reference to the person that describes this agent. MUST resolve to an instance of Person.

Implementations

impl Agent[src]

pub fn new(
    id: Option<Id>,
    identifiers: Vec<Identifier>,
    names: Vec<TextValue>,
    homepage: Option<ResourceReference>,
    openid: Option<ResourceReference>,
    accounts: Vec<OnlineAccount>,
    emails: Vec<ResourceReference>,
    phones: Vec<ResourceReference>,
    addresses: Vec<Address>,
    person: Option<ResourceReference>
) -> Self
[src]

pub fn builder() -> AgentBuilder[src]

Trait Implementations

impl Clone for Agent[src]

fn clone(&self) -> Agent[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Agent[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl Default for Agent[src]

fn default() -> Agent[src]

Returns the “default value” for a type. Read more

impl<'de> Deserialize<'de> for Agent[src]

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
    __D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer. Read more

impl PartialEq<Agent> for Agent[src]

fn eq(&self, other: &Agent) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &Agent) -> bool[src]

This method tests for !=.

impl Serialize for Agent[src]

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
    __S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

impl TryFrom<&'_ Agent> for ResourceReference[src]

type Error = GedcomxError

The type returned in the event of a conversion error.

fn try_from(agent: &Agent) -> Result<Self, Self::Error>[src]

Performs the conversion.

impl YaDeserialize for Agent[src]

fn deserialize<R: Read>(reader: &mut Deserializer<R>) -> Result<Self, String>[src]

impl YaSerialize for Agent[src]

fn serialize<W: Write>(&self, writer: &mut Serializer<W>) -> Result<(), String>[src]

fn serialize_attributes(
    &self,
    source_attributes: Vec<OwnedAttribute>,
    source_namespace: Namespace
) -> Result<(Vec<OwnedAttribute>, Namespace), String>
[src]

impl StructuralPartialEq for Agent[src]

Auto Trait Implementations

impl RefUnwindSafe for Agent

impl Send for Agent

impl Sync for Agent

impl Unpin for Agent

impl UnwindSafe for Agent

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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.

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

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]