---
name: "KiokuDB::Role::ID"
section: "3pm"
platform: "linux"
package: "libkiokudb-perl"
version: "0.57-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/KiokuDB::Role::ID"
---

# KiokuDB::Role::ID(3pm)

A role for objects who choose their own ID.

## NAME

KiokuDB::Role::ID - A role for objects who choose their own ID.

## VERSION

version 0.57

## SYNOPSIS

```
    # typically you set up your own ID role, and map the C<kiokudb_object_id>
    # method to your schema's ID
    package MySchema::ID;
    use Moose::Role;
    with qw(KiokuDB::Role::ID);
    sub kiokudb_object_id { shift->id };
    requires "id";
    package MySchema::Foo;
    use Moose;
    with qw(MySchema::ID);
    sub id { ... }
```

## DESCRIPTION

This role provides a way for objects to determine their own IDs.

You must implement or alias the `"kiokudb_object_id"` method to return a string.

## REQUIRED METHODS

- kiokudb\_object\_id

  Should return a string to be used as the ID of the object.

## AUTHOR

Yuval Kogman \<nothingmuch@woobling.org\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Yuval Kogman, Infinity Interactive.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
