Oryx::Attribute - Attribute meta-type for Oryx persistent classes
my $attrib = Oryx::Attribute->new( \%meta, $owner );
$attrib->name; # name used for accessor generation
$attrib->size; # size constraint for the value
$attrib->type; # value type
$attrib->required; # NOT NULL
- new( $meta, $owner )
- create
- Abstract (see implementing subclasses)
- retrieve
- Abstract (see implementing subclasses)
- update
- Abstract (see implementing subclasses)
- delete
- Abstract (see implementing subclasses)
- search
- Abstract (see implementing subclasses)
- construct( $self, $obj )
- Inflate the attribute value and "tie" it
to the implementing Value class, eg: Oryx::Value::String,
Oryx::Value::Complex etc. (see perltie)
- name
- returns the "name" meta-attribute for
this attribute. This is the same as the accessor and the field in the
table in which the value for this attribute is stored.
- type
- returns the "type" meta-attribute for
this attribute. Defaults to 'String'.
- size
- returns the "size" meta-attribute for
this attribute. This is the allowed length for the 'String' or size of
'Number' etc. and is used for input checking by the Value type. No
default.
- required
- returns the value of the "required"
meta-attribute. This has the effect of raising an error if an instance of
the owning class is constructed without a value for this field defined in
the prototype hash reference which is passed to
"Oryx::Class->create( \%proto )".
Equivalent to a NOT NULL constraint.
- primitive
- returns a list the first argument of which is one of: 'Integer', 'String',
'Boolean', 'Float', 'Text', 'Binary' or 'DateTime' which are mapped to SQL
column types by the Oryx::DBI::Util classes. The second argument is an
optional size constraint.
- type_class
- returns the canonical package name of the implementing Oryx::Value
meta-type for this attribute.
Richard Hundt <richard NO SPAM AT protea-systems.com>
Andrew Sterling Hanenkamp
This module is free software and may be used under the same terms as Perl
itself.