Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Jifty::DBI::Filter
base class for Jifty::DBI filters

Jifty::DBI::Filter - base class for Jifty::DBI filters


NAME

Jifty::DBI::Filter - base class for Jifty::DBI filters


SYNOPSIS


  # To implement your own filter

  package MyApp::Filter::Uppercase;

  use base qw/ Jifty::DBI::Filter /;

  # Setup for DB storage, store in lowercase

  sub encode {

      my $self = shift;

      my $value_ref = $self->value_ref;

      return unless defined $$value_ref; # don't blow up on undef

      $$value_ref = lc $$value_ref;

  }

  # Setup for Perl code to use, always sees uppercase

  sub decode {

      my $self = shift;

      my $value_ref = $self->value_ref;

      return unless defined $$value_ref; # don't blow up on undef

      $$value_ref = uc $$value_ref;

  }

  # To use a filter

  use MyApp::Record schema {

      column filtered =>

          type is 'text',

          filters are qw/ MyApp::Filter::Uppercase /;

  };


DESCRIPTION

A filter allows Jifty::DBI models to tweak data prior to being stored and/or loaded. This is useful for marshalling and unmarshalling complex objects.


METHODS

new

Takes two arguments in a parameter hash:

value_ref
A reference to the current value you're going to be massaging. encode works in place, massaging whatever value_ref refers to.

column
A the Jifty::DBI::Column manpage object, whatever sort of column we're working with here.

encode

encode takes data that users are handing to us and marshals it into a form suitable for sticking it in the database. This could be anything from flattening a DateTime object into an ISO date to making sure that data is utf8 clean.

decode

decode takes data that the database is handing back to us and gets it into a form that's OK to hand back to the user. This could be anything from inflating an ISO date to a DateTime object to making sure that the string properly has the utf8 flag.


SEE ALSO

the Jifty::DBI::Filter::Date manpage, the Jifty::DBI::Filter::DateTime manpage, the Jifty::DBI::Filter:SaltHash manpage, the Jifty::DBI::Filter::Storable manpage, the Jifty::DBI::Filter::Time manpage, the Jifty::DBI::Filter::Truncate manpage, the Jifty::DBI::Filter::YAML manpage, the Jifty::DBI::Filter::base64 manpage, the Jifty::DBI::Filter::utf8 manpage


LICENSE

Jifty::DBI is Copyright 2005-2007 Best Practical Solutions, LLC. Jifty::DBI is distributed under the same terms as Perl itself.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy