Contract fulfilled by a Customizing attribute class (e.g. #[PartnerRole]) —
one row of a code-owned reference catalog (partner roles, relationship types,
dropdown values, …).
The interface splits the catalog shape (the static methods — identical for
every row of a given attribute type) from the row values (the instance
methods). A consumer ships its own attribute implementing this contract; the
{@see \LaravelUi5\Sdk\Ui5\SdkRegistry} discovers every such attribute in a
single reflection pass (ReflectionAttribute::IS_INSTANCEOF) and the generic
CustomizingWorker projects it into {@see table()} on ui5:sync.
| Methods |
public
static
|
catalog(): string
Logical catalog name — the i18n key namespace and the sync grouping label,
e.g. `'partner_roles'`. Drives the key…
Logical catalog name — the i18n key namespace and the sync grouping label,
e.g. 'partner_roles'. Drives the key convention
customizing.<catalog>.<code>.<column>.
Implemented by
|
#
|
public
static
|
table(): string
Physical table the catalog projects into, e.g. `'sdk_partner_roles'`.
Physical table the catalog projects into, e.g. 'sdk_partner_roles'.
Implemented by
|
#
|
public
static
|
identityColumn(): string
The unique identity column of {@see table()}, e.g. `'code'`.
The unique identity column of {@see table()}, e.g. 'code'.
Implemented by
|
#
|
public
static
|
translatable(): string[]
Columns whose stored value is a source-language label resolved via i18n at
read time, e.g. `['name', 'description']`.…
Columns whose stored value is a source-language label resolved via i18n at
read time, e.g. ['name', 'description']. Drives the ui5:i18n key
expander; the worker still stores the literal as the fallback.
Implemented by
|
#
|
public
|
identity(): string
This entry's identity value. A `BackedEnum` code is dissolved to its scalar
`->value` (the single wire / DB / i18n…
This entry's identity value. A BackedEnum code is dissolved to its scalar
->value (the single wire / DB / i18n value); a string code is returned
as-is. e.g. 'lead'.
Implemented by
|
#
|
public
|
columns(): array<string, mixed>
This entry's column → value map for {@see table()}, enums dissolved to
scalars. Excludes the identity column — the…
This entry's column → value map for {@see table()}, enums dissolved to
scalars. Excludes the identity column — the worker adds it from
{@see identity()}.
Implemented by
|
#
|
public
|
helpUuid(): ?string
UUID of this row's context-help document, or null when the row has no
dedicated help.
UUID of this row's context-help document, or null when the row has no
dedicated help.
First-class — deliberately NOT a {@see columns()} member. The
CustomizingWorker writes it to the help_uuid column the way it writes
the identity column (when the table carries one), and the {@see
\LaravelUi5\Sdk\Help\HelpCompiler} validates a non-null value resolves to a
real doc/{uuid}/ document in the declaring module. Never translatable —
a stable UUID, not a label. The runtime consumer is the
com.laravelui5.sdk.Context control reading the synced UUID.
Implemented by
|
#
|