Provided by: libfile-kdbx-perl_0.906-2_all bug

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.