Raw content of BioMart::Configuration::FilterCollection # $Id: FilterCollection.pm,v 1.3 2008/04/09 12:52:33 syed Exp $ # # BioMart module for BioMart::Configuration::FilterCollection # # You may distribute this module under the same terms as perl itself # POD documentation - main docs before the code =head1 NAME BioMart::Configuration::FilterCollection =head1 SYNOPSIS Holds a List of BioMart::BaseFilter implementing objects. =head1 DESCRIPTION Object to further define the Filters available to the User Interface by a Dataset. Holds a list of one or more BioMart::BaseFilter implementing objects. =head1 AUTHOR - Arek Kasprzyk, Syed Haider, Richard Holland, Darin London, Damian Smedley =head1 CONTACT This module is part of the BioMart project http://www.biomart.org Questions can be posted to the mart-dev mailing list: mart-dev@ebi.ac.uk =head1 METHODS =cut package BioMart::Configuration::FilterCollection; use strict; use warnings; use base qw(BioMart::Root); use constant NAMEKEY => "name"; use constant DISPLAYNAME => "displayName"; use constant DESCRIPTION => "description"; use constant TITLES => [ NAMEKEY, DESCRIPTION, DISPLAYNAME, ]; sub _new { my ($self, @param) = @_; $self->SUPER::_new(@param); $self->addParams(TITLES, @param); $self->attr('filters', []); } =head2 name Usage : usage Description: Description Returntype : string name Exceptions : none Caller : caller =cut sub name { my ($self, $newName) = @_; if ($newName) { $self->setParam(NAMEKEY, $newName); } return $self->getParam(NAMEKEY); } =head2 displayName Usage : Arg [1] - (optional) string $display_name Description: get/set for display name Returntype : string Exceptions : none Caller : general =cut sub displayName { # stores display name my ($self, $value) = @_; if ($value){ $self->setParam(DISPLAYNAME, $value); } return $self->getParam(DISPLAYNAME); } =head2 description Usage : Arg [1] - (optional) string $description Description: get/set for description Returntype : string Exceptions : none Caller : general =cut sub description { # stores description my ($self, $value) = @_; if ($value){ $self->setParam(DESCRIPTION, $value); } return $self->getParam(DESCRIPTION); } =head2 addFilter Usage : usage Description: Description Returntype : Exceptions : none Caller : caller =cut sub addFilter { my ($self, $filter) = @_; $filter->filterCollection($self); my $filters = $self->get('filters'); push @{$filters}, $filter; } =head2 getAllFilters Usage : usage Description: Description Returntype : Exceptions : none Caller : caller =cut sub getAllFilters { my $self = shift; return $self->get('filters'); } sub getFilterByName { my ($self, $name) = @_; my $retFilt; my $filtTs = $self->get('filters'); foreach my $filtT (@{$filtTs}) { $retFilt = $filtT if ($filtT->name eq $name); last if ($retFilt); } return $retFilt; } 1;