package BLAST::Format;
use Carp;
use warnings;
use strict;

###################################################
# global variables
my $validFormatCodes = [0, 8, 9];


###################################################
sub new {
    my $pkg = shift;
    bless {
	code => undef
    }, $pkg;
}


###################################################
sub setCode {
    my $self = shift;
    my $code = shift;
    if( isValidCode($code) ){
	$self->{code} = $code;
    } else {
	croak "Invalid BLAST format code:$code.";
    }
}


###################################################
sub isValidCode {
    my $code = shift;
    my $validFlag = 0;
    foreach my $validCode (@$validFormatCodes){
	if($code eq $validCode){
	    $validFlag = 1;
	}
    }
    return $validFlag;
}


###################################################
sub getCode {
    my $self = shift;
    return $self->{code};
}


1;
