table of contents
File::KDBX::Group(3pm) | User Contributed Perl Documentation | File::KDBX::Group(3pm) |
NAME¶
File::KDBX::Group - A KDBX database group
VERSION¶
version 0.906
DESCRIPTION¶
A group in a KDBX database is a type of object that can contain entries and other groups.
There is also some metadata associated with a group. Each group in a database is identified uniquely by a UUID. An entry can also have an icon associated with it, and there are various timestamps. Take a look at the attributes to see what's available.
A File::KDBX::Group is a subclass of File::KDBX::Object. View its documentation to see other attributes and methods available on groups.
ATTRIBUTES¶
name¶
The human-readable name of the group.
notes¶
Free form text string associated with the group.
is_expanded¶
Whether or not subgroups are visible when listed for user selection.
default_auto_type_sequence¶
The default auto-type keystroke sequence, inheritable by entries and subgroups.
enable_auto_type¶
Whether or not the entry is eligible to be matched for auto-typing, inheritable by entries and subgroups.
enable_searching¶
Whether or not entries within the group can show up in search results, inheritable by subgroups.
last_top_visible_entry¶
The UUID of the entry visible at the top of the list.
entries¶
Array of entries contained within the group.
groups¶
Array of subgroups contained within the group.
METHODS¶
entries¶
\@entries = $group->entries;
Get an array of direct child entries within a group.
all_entries¶
\&iterator = $kdbx->all_entries(%options);
Get an File::KDBX::Iterator over entries within a group. Supports the same options as "groups", plus some new ones:
- "auto_type" - Only include entries with auto-type enabled (default: false, include all)
- "searching" - Only include entries within groups with searching enabled (default: false, include all)
- "history" - Also include historical entries (default: false, include only current entries)
add_entry¶
$entry = $group->add_entry($entry); $entry = $group->add_entry(%entry_attributes);
Add an entry to a group. If $entry already has a parent group, it will be removed from that group before being added to $group.
remove_entry¶
$entry = $group->remove_entry($entry); $entry = $group->remove_entry($entry_uuid);
Remove an entry from a group's array of entries. Returns the entry removed or "undef" if nothing removed.
groups¶
\@groups = $group->groups;
Get an array of direct subgroups within a group.
all_groups¶
\&iterator = $group->all_groups(%options);
Get an File::KDBX::Iterator over groups within a groups, deeply. Options:
- "inclusive" - Include $group itself in the results (default: true)
- "algorithm" - Search algorithm, one of "ids", "bfs" or "dfs" (default: "ids")
add_group¶
$new_group = $group->add_group($new_group); $new_group = $group->add_group(%group_attributes);
Add a group to a group. If $new_group already has a parent group, it will be removed from that group before being added to $group.
remove_group¶
$removed_group = $group->remove_group($group); $removed_group = $group->remove_group($group_uuid);
Remove a group from a group's array of subgroups. Returns the group removed or "undef" if nothing removed.
all_objects¶
\&iterator = $groups->all_objects(%options);
Get an File::KDBX::Iterator over objects within a group, deeply. Groups and entries are considered objects, so this is essentially a combination of "groups" and "entries". This won't often be useful, but it can be convenient for maintenance tasks. This method takes the same options as "groups" and "entries".
add_object¶
$new_entry = $group->add_object($new_entry); $new_group = $group->add_object($new_group);
Add an object (either a File::KDBX::Entry or a File::KDBX::Group) to a group. This is the generic equivalent of the object forms of "add_entry" and "add_group".
remove_object¶
$group->remove_object($entry); $group->remove_object($group);
Remove an object (either a File::KDBX::Entry or a File::KDBX::Group) from a group. This is the generic equivalent of the object forms of "remove_entry" and "remove_group".
effective_default_auto_type_sequence¶
$text = $group->effective_default_auto_type_sequence;
Get the value of "default_auto_type_sequence", if set, or get the inherited effective default auto-type sequence of the parent.
effective_enable_auto_type¶
$text = $group->effective_enable_auto_type;
Get the value of "enable_auto_type", if set, or get the inherited effective auto-type enabled value of the parent.
effective_enable_searching¶
$text = $group->effective_enable_searching;
Get the value of "enable_searching", if set, or get the inherited effective searching enabled value of the parent.
is_empty¶
$bool = $group->is_empty;
Get whether or not the group is empty (has no subgroups or entries).
is_root¶
$bool = $group->is_root;
Determine if a group is the root group of its connected database.
is_recycle_bin¶
$bool = $group->is_recycle_bin;
Get whether or not a group is the recycle bin of its connected database.
is_entry_templates¶
$bool = $group->is_entry_templates;
Get whether or not a group is the group containing entry template in its connected database.
is_last_selected¶
$bool = $group->is_last_selected;
Get whether or not a group is the prior selected group of its connected database.
is_last_top_visible¶
$bool = $group->is_last_top_visible;
Get whether or not a group is the latest top visible group of its connected database.
path¶
$string = $group->path;
Get a string representation of a group's lineage. This is used as the substitution value for the "{GROUP_PATH}" placeholder. See "Placeholders" in File::KDBX::Entry.
For a root group, the path is simply the name of the group. For deeper groups, the path is a period-separated sequence of group names between the root group and $group, including $group but not the root group. In other words, paths of deeper groups leave the root group name out.
Database -> Root # path is "Root" -> Foo # path is "Foo" -> Bar # path is "Foo.Bar"
Yeah, it doesn't make much sense to me, either, but this matches the behavior of KeePass.
size¶
$size = $group->size;
Get the size (in bytes) of a group, including the size of all subroups and entries, if any.
depth¶
$depth = $group->depth;
Get the depth of a group within a database. The root group is at depth 0, its direct children are at depth 1, etc. A group not in a database tree structure returns a depth of -1.
BUGS¶
Please report any bugs or feature requests on the bugtracker website <https://github.com/chazmcgarvey/File-KDBX/issues>
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
AUTHOR¶
Charles McGarvey <ccm@cpan.org>
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2022 by Charles McGarvey.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
2022-11-20 | perl v5.36.0 |