UR::Object::Type->define( class_name => 'UR::Object::Reference', english_name => 'type has a', id_properties => ['tha_id'], properties => [ tha_id => { type => 'NUMBER', len => 10 }, accessor_name_for_id => { type => 'VARCHAR2', len => 64, is_optional => 1 }, accessor_name_for_object => { type => 'VARCHAR2', len => 64, is_optional => 1 }, class_name => { type => 'VARCHAR2', len => 64 }, constraint_name => { type => 'VARCHAR2', len => 32, is_optional => 1 }, delegation_name => { type => 'VARCHAR2', len => 64 }, description => { type => 'VARCHAR2', len => 64, is_optional => 1 }, r_class_name => { type => 'VARCHAR2', len => 64 }, r_delegation_name => { type => 'VARCHAR2', len => 64 }, r_type_name => { type => 'VARCHAR2', len => 64 }, source => { type => 'VARCHAR2', len => 64, is_optional => 1 }, type_name => { type => 'VARCHAR2', len => 64 }, ], );
UR::Object::Reference - Metadata about one class referring to another
my $classobj = Some::Class->__meta__; my @refs = $classobj->reference_metas; my $remote_class_obj = $refs[0]->r_class_meta;
This class implements the infrastructure metadata about how classes are linked to each other. Whenever the class initializer encounters an indirect property, a Reference object is created to denote the classes and properties involved in the link.
Instances of UR::Object::Reference are not created directly, but exist as a concequence of class metadata creation.
The ID property of UR::Object::Reference. Its value is a composite of the class name and the property name that triggered this Reference's creation.
The name of the referencing class
The name of the referenced class
The delegated property name that triggered the creation of this Reference.
If the delegated property was created as a result of a foreign key in a database, this contains the name of that constraint.
The class metaobject named by class_name
The class metaobject named by r_class_name
The list of reference property objects belonging to this Reference
UR::Object::Reference::Property, UR::Object::Type, UR::Object::Type::Initializer
To install UR, copy and paste the appropriate command in to your terminal.
cpanm
cpanm UR
CPAN shell
perl -MCPAN -e shell install UR
For more information on module installation, please visit the detailed CPAN module installation guide.