[][src]Struct kpdb::Group

pub struct Group {
    pub creation_time: DateTime<Utc>,
    pub custom_icon_uuid: Option<CustomIconUuid>,
    pub def_auto_type_sequence: String,
    pub enable_auto_type: Option<bool>,
    pub enable_searching: Option<bool>,
    pub entries: Vec<Entry>,
    pub expires: bool,
    pub expiry_time: DateTime<Utc>,
    pub groups: Vec<Group>,
    pub icon: Icon,
    pub is_expanded: bool,
    pub last_accessed: DateTime<Utc>,
    pub last_modified: DateTime<Utc>,
    pub last_top_visible_entry: EntryUuid,
    pub location_changed: DateTime<Utc>,
    pub name: String,
    pub notes: String,
    pub usage_count: i32,
    pub uuid: GroupUuid,
}

A group in the database.

Fields

creation_time: DateTime<Utc>

The date and time this group was created.

custom_icon_uuid: Option<CustomIconUuid>

The identifier of this group's custom icon if any.

def_auto_type_sequence: String

Default auto-type sequence.

enable_auto_type: Option<bool>

Whether auto-type is enabled.

enable_searching: Option<bool>

Whether searching is enabled.

entries: Vec<Entry>

Vector with entries that belong to this group.

expires: bool

Whether this group expires.

expiry_time: DateTime<Utc>

The date and time this group will expire if expires is true.

groups: Vec<Group>

Vector with subgroups of this group.

icon: Icon

This group's icon.

is_expanded: bool

Whether this group is expanded.

last_accessed: DateTime<Utc>

The date and time this group was last accessed.

last_modified: DateTime<Utc>

The date and time this group was last modified.

last_top_visible_entry: EntryUuid

The identifier of the last top visible entry.

location_changed: DateTime<Utc>

The date and time the location of this group was changed.

name: String

The name of this group.

notes: String

The notes of this group.

usage_count: i32

The usage count of this group.

uuid: GroupUuid

The identifier of this group.

Methods

impl Group[src]

pub fn new<S: Into<String>>(name: S) -> Group[src]

Create a new group.

Examples

use kpdb::Group;

let group = Group::new("Websites");

pub fn add_entry(&mut self, entry: Entry)[src]

Add an entry to the current group.

Examples

use kpdb::{Entry, Group};

let mut group = Group::new("group");
let entry = Entry::new();

assert_eq!(group.entries.len(), 0);
group.add_entry(entry.clone());
assert_eq!(group.entries.len(), 1);
assert_eq!(group.entries[0], entry);

pub fn add_group(&mut self, group: Group)[src]

Add a sub group to the current group.

Examples

use kpdb::Group;

let mut root = Group::new("root");
let child = Group::new("child");

assert_eq!(root.groups.len(), 0);
root.add_group(child.clone());
assert_eq!(root.groups.len(), 1);
assert_eq!(root.groups[0], child);

pub fn iter(&self) -> Iter[src]

Returns an iterator over the group and sub groups.

Examples

use kpdb::Group;

let mut root = Group::new("root");
let sub_1 = Group::new("sub_1");
let sub_2 = Group::new("sub_2");
root.add_group(sub_1.clone());
root.add_group(sub_2.clone());

let mut iterator = root.iter();
assert_eq!(iterator.next(), Some(&root));
assert_eq!(iterator.next(), Some(&sub_1));
assert_eq!(iterator.next(), Some(&sub_2));
assert_eq!(iterator.next(), None);

pub fn iter_mut(&mut self) -> IterMut[src]

Returns an iterator that allows modifying each group.

Examples

use kpdb::Group;

let mut root = Group::new("root");
for group in root.iter_mut() {
    group.name = String::from("name");
}
assert_eq!(root.name, "name");

pub fn remove_entry(&mut self, entry_uuid: EntryUuid) -> Option<Entry>[src]

Remove an entry from the current group.

Examples

use kpdb::{Entry, Group};

let mut group = Group::new("Sample");
let entry = Entry::new();
group.add_entry(entry.clone());
assert_eq!(group.entries.len(), 1);
assert_eq!(group.remove_entry(entry.uuid), Some(entry));
assert_eq!(group.entries.len(), 0);

pub fn remove_group(&mut self, group_uuid: GroupUuid) -> Option<Group>[src]

Remove a sub group from the current group.

Examples

use kpdb::Group;

let mut parent = Group::new("Parent");
let child = Group::new("Child");
parent.add_group(child.clone());
assert_eq!(parent.groups.len(), 1);
assert_eq!(parent.remove_group(child.uuid), Some(child));
assert_eq!(parent.groups.len(), 0);

Trait Implementations

impl Clone for Group[src]

impl Debug for Group[src]

impl Default for Group[src]

impl PartialEq<Group> for Group[src]

impl StructuralPartialEq for Group[src]

impl Times for Group[src]

Auto Trait Implementations

impl RefUnwindSafe for Group

impl Send for Group

impl Sync for Group

impl Unpin for Group

impl UnwindSafe for Group

Blanket Implementations

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

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

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

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[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.