1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//! **English:**<br>
//! Defines stable identification and optional metadata for a [`crate::DomainEvent`].
//!
//! Implement [`DomainEventMetadata`] when consumers need an event name, a schema or contract
//! version, and optional event-specific metadata without taking ownership of the event.
//!
//! **日本語:**<br>
//! [`crate::DomainEvent`] の安定した識別情報と任意のメタデータを定義します。
//!
//! イベントの所有権を取り上げずに、イベント名、スキーマまたは契約のバージョン、
//! イベント固有の任意メタデータを利用者へ提供する場合に [`DomainEventMetadata`] を実装します。
use crateDomainEvent;
/// **English:**<br>
/// Provides an event name, version, and optional metadata for a domain event.
///
/// The associated metadata may be unsized, such as a dynamically sized string or slice. The
/// default event version is `1`; implementations may override it to identify a later contract.
/// Implementations choose whether metadata is present for a given event and how the returned name maps to
/// external event contracts.
///
/// **日本語:**<br>
/// ドメインイベントのイベント名、バージョン、任意のメタデータを提供します。
///
/// 関連付けられたメタデータは、動的サイズの文字列やスライスなど、サイズ不定でも構いません。
/// イベントバージョンの既定値は `1` であり、実装側で上位の契約を示す値に変更できます。
/// 個々のイベントにメタデータを用意するかどうかや、返す名前を外部イベント契約へどう対応付けるかは実装が決めます。