Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
Object::Pad::MOP::FieldAttr(3) User Contributed Perl Documentation Object::Pad::MOP::FieldAttr(3)

"Object::Pad::MOP::FieldAttr" - meta-object representation of a field attribute for "Object::Pad"

This API provides a way for pure-perl implementations of field attributes to be provided. Pure-perl attributes cannot currently add new behaviour to the way that fields work, but they do provide a means for class authors to annotate extra metadata onto fields, that can be queried by other code.

Primilarily this is done by using the "get_attribute_value" in Object::Pad::MOP::Field accessor method on a field metadata instance.

This API should be considered experimental, and will emit warnings to that effect. They can be silenced with

   use Object::Pad qw( :experimental(custom_field_attr) );

   Object::Pad::MOP::FieldAttr->register( $name, %args )

Since version 0.60.

Creates a new field attribute of the given name. The name must begin with a capital letter, in order to distinguish this from any of the built-in core attributes, whose names are lowercase.

The attribute is only available if the hints hash contains a key of the name given by the attribute's "permit_hintkey" argument. This would typically be set in the hints hash by the "import" method of the module implementing it, and would be named based on the name of the module providing the attribute:

   sub import { $^H{"Some::Package::Name/Attrname"} }

Takes the following additional named arguments:

permit_hintkey => STRING
Required. A string giving a key that must be found in the hints hash ("%^H") for this attribute name to be visible.
apply => CODE
An optional code reference for a callback function to invoke when the attribute is applied to a field. If present, it is passed the field metadata instance as a Object::Pad::MOP::Field reference, and a string containing the contents of the attribute's parenthesized value. The return value of the callback will be stored as the attribute's value and can be accessed by the "get_attribute_value" method on the field metadata.

   $result = $apply->( $fieldmeta, $value )

If the "apply" callback is absent then the string value itself is stored.

Paul Evans <>
2022-04-07 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.