Well my previous answer obviously didn't help. If I had read more carefully I'd have noticed you've already looked at those docs.
Based on my reading of those same docs, I would try something like (UNTESTED):
package MyColumn;
use base qw( Rose::DB::Object::Metadata::Column );
Rose::Object::MakeMethods::Generic->make_methods
(
{ preserve_existing => 1 },
scalar => [ __PACKAGE__->common_method_maker_argument_names ]
);
foreach my $type (__PACKAGE__->available_method_types)
{
__PACKAGE__->method_maker_type($type => 'my_type');
}
sub type { 'my_type' }
sub parse_value
{
my($self, $db, $column_value) = (shift, shift, shift);
$self->parse_error(undef);
# do something with $column_value read from db
return $column_value
}
sub format_value {
my ($self, $input_value) = @_;
# do something with $input_value will be written to db
return $input_value;
}
1;
That help?
pek