Archive Ensembl HomeArchive Ensembl Home
Bio::EnsEMBL::Utils::Scalar Class Reference

List of all members.


Class Summary

Synopsis

    use Bio::EnsEMBL::Utils::Scalar qw(check_ref assert_ref wrap_array check_ref_can assert_ref_can assert_numeric assert_integer);

    check_ref([], 'ARRAY'); # Will return true
    check_ref({}, 'ARRAY'); # Will return false
    check_ref($dba, 'Bio::EnsEMBL::DBSQL::DBAdaptor'); #Returns true if $dba is a DBAdaptor

    assert_ref([], 'ARRAY'); #Returns true
    assert_ref({}, 'ARRAY'); #throws an exception
    assert_ref($dba, 'Bio::EnsEMBL::Gene'); #throws an exception if $dba is not a Gene

    wrap_array([]); #Returns the same reference
    wrap_array($a); #Returns [$a] if $a was not an array
    wrap_array(undef); #Returns [] since incoming was undefined
    wrap_array(); #Returns [] since incoming was empty (therefore undefined)

    check_ref_can([], 'dbID'); #returns false as ArrayRef is not blessed
    check_ref_can($gene, 'dbID'); #returns true as Gene should implement dbID()
    check_ref_can(undef); #Throws an exception as we gave no method to test

    assert_ref_can([], 'dbID'); #throws an exception since ArrayRef is not blessed
    assert_ref_can($gene, 'dbID'); #returns true if gene implements dbID()
    assert_ref_can(undef); #Throws an exception as we gave no method to test

    asssert_integer(1, 'dbID'); #Passes
    asssert_integer(1.1, 'dbID'); #Fails
    asssert_numeric(1E-11, 'dbID'); #Passes
    asssert_numeric({}, 'dbID'); #Fails

    #Tags are also available for exporting
    use Bio::EnsEMBL::Utils::Scalar qw(:assert); # brings in all assert methods
    use Bio::EnsEMBL::Utils::Scalar qw(:check); #brings in all check methods
    use Bio::EnsEMBL::Utils::Scalar qw(:array); #brings in wrap_array
    use Bio::EnsEMBL::Utils::Scalar qw(:all); #import all methods

Description

A collection of subroutines aimed to helping Scalar based operations
 

Definition at line 49 of file Scalar.pm.

Available Methods

public Boolean assert_boolean ()
public Boolean assert_file_handle ()
public Boolean assert_integer ()
public Boolean assert_numeric ()
public Boolean assert_ref ()
public Boolean assert_ref_can ()
public Boolean assert_strand ()
public Boolean check_ref ()
public CodeRef check_ref_can ()
public Array wrap_array ()

Method Documentation

public Boolean Bio::EnsEMBL::Utils::Scalar::assert_boolean ( )
  Arg [1]     : The Scalar to check
  Arg [2]     : The attribute name you are asserting; not required but allows
                for more useful error messages to be generated. Defaults to
                -Unknown-.
  Description : A subroutine which checks to see if the given scalar is
                a boolean i.e. value is set to 1 or 0
  Returntype  : Boolean; true if we were given a boolean otherwise we signal
                failure via exceptions
  Example     : assert_boolean(1, 'is_circular');
  Exceptions  : See assert_integer and we raise exceptions if the value
                was not equal to the 2 valid states
  Status      : Stable
 
Code:
click to view
public Boolean Bio::EnsEMBL::Utils::Scalar::assert_file_handle ( )
  Arg [1]     : The Scalar to check
  Arg [2]     : The attribute name you are asserting; not required but allows
                for more useful error messages to be generated. Defaults to
                -Unknown-.
  Description : A subroutine which checks to see if the given scalar is
                actually a file handle. This will handle those which are Glob
                references and those which inherit from IO::Handle. It will
                also cope with a blessed Glob reference.
  Returntype  : Boolean;
  Example     : assert_file_handle($fh, '-FILE_HANDLE');
  Exceptions  : Raised if not defined, not a reference and was not a
                GLOB or did not inherit from IO::Handle   
  Status      : Stable
 
Code:
click to view
public Boolean Bio::EnsEMBL::Utils::Scalar::assert_integer ( )
  Arg [1]     : The Scalar to check
  Arg [2]     : The attribute name you are asserting; not required but allows
                for more useful error messages to be generated. Defaults to
                -Unknown-.
  Description : A subroutine which checks to see if the given scalar is
                a whole integer; we delegate to assert_numeric for number
                checking.
  Returntype  : Boolean; true if we had a numeric otherwise we signal failure
                via exceptions
  Example     : assert_integer(1, 'dbID');
  Exceptions  : See assert_numeric and we raise exceptions if the value
                was not a whole integer
  Status      : Stable
 
Code:
click to view
public Boolean Bio::EnsEMBL::Utils::Scalar::assert_numeric ( )
  Arg [1]     : The Scalar to check
  Arg [2]     : The attribute name you are asserting; not required but allows
                for more useful error messages to be generated. Defaults to
                -Unknown-.
  Description : A subroutine which checks to see if the given scalar is
                number or not. If not then we raise exceptions detailing why
  Returntype  : Boolean; true if we had a numeric otherwise we signal failure
                via exceptions
  Example     : assert_numeric(1, 'dbID');
  Exceptions  : If the Scalar is not defined, if the Scalar was blessed and
                if the value was not a number
  Status      : Stable
 
Code:
click to view
public Boolean Bio::EnsEMBL::Utils::Scalar::assert_ref ( )
  Arg [1]     : The reference to check
  Arg [2]     : The type we expect
  Arg [3]     : The attribute name you are asserting; not required but allows
                for more useful error messages to be generated. Defaults to
                -Unknown-.
  Description : A subroutine which checks to see if the given object/ref is
                what you expect. This behaves in an identical manner as
                check_ref() does except this will raise exceptions when
                the values do not match rather than returning a boolean
                indicating the situation.
                Undefs cause exception circumstances.
  Returntype  : Boolean; true if we managed to get to the return
  Example     : assert_ref([], 'ARRAY');
  Exceptions  : If the expected type was not set and if the given reference
                was not assignable to the expected value
  Status      : Stable
 
Code:
click to view
public Boolean Bio::EnsEMBL::Utils::Scalar::assert_ref_can ( )
  Arg [1]     : The reference to check
  Arg [2]     : The method we expect to run
  Arg [3]     : The attribute name you are asserting; not required but allows
                for more useful error messages to be generated. Defaults to
                -Unknown-.
  Description : A subroutine which checks to see if the given object/ref is
                implements the given method. Will throw exceptions.
  Returntype  : Boolean; true if we managed to get to the return
  Example     : assert_ref_can($gene, 'dbID');
  Exceptions  : If the reference is not defined, if the object does not
                implement the given method and if no method was given to check
  Status      : Stable
 
Code:
click to view
public Boolean Bio::EnsEMBL::Utils::Scalar::assert_strand ( )
  Arg [1]     : The Scalar to check
  Arg [2]     : The attribute name you are asserting; not required but allows
                for more useful error messages to be generated. Defaults to
                -Unknown-.
  Description : A subroutine which checks to see if the given scalar is
                a whole integer and if the value is set to 1, 0 or -1
  Returntype  : Boolean; true if we had a strand integer otherwise we signal
                failure via exceptions
  Example     : assert_strand(1, 'strand');
  Exceptions  : See assert_integer and we raise exceptions if the value
                was not equal to the 3 valid states
  Status      : Stable
 
Code:
click to view
public Boolean Bio::EnsEMBL::Utils::Scalar::check_ref ( )
  Arg [1]     : The reference to check
  Arg [2]     : The type we expect
  Description : A subroutine which checks to see if the given object/ref is
                what you expect. If you give it a blessed reference then it
                will perform an isa() call on the object after the defined
                tests. If it is a plain reference then it will use ref().
                An undefined value will return a false.
  Returntype  : Boolean indicating if the reference was the type we
                expect
  Example     : my $ok = check_ref([], 'ARRAY');
  Exceptions  : If the expected type was not set
  Status      : Stable
 
Code:
click to view
public CodeRef Bio::EnsEMBL::Utils::Scalar::check_ref_can ( )
  Arg [1]     : The reference to check
  Arg [2]     : The method we expect to run
  Description : A subroutine which checks to see if the given object/ref is
                implements the given method. This is very similar to the
                functionality given by UNIVERSAL::can() but works
                by executing can() on the object meaning we consult the
                object's potentially overriden version rather than Perl's
                default mechanism.
  Returntype  : CodeRef
  Example     : check_ref_can($gene, 'dbID');
  Exceptions  : If the expected type was not set.
  Status      : Stable
 
Code:
click to view
public Array Bio::EnsEMBL::Utils::Scalar::wrap_array ( )
  Arg         : The reference we want to wrap in an array
  Description : Takes in a reference and returns either the reference if it
                was already an array, the reference wrapped in an array or
                an empty array (if the given value was undefined).
  Returntype  : Array Reference
  Example     : my $a = wrap_array($input);
  Exceptions  : None
  Status      : Stable
 
Code:
click to view

The documentation for this class was generated from the following file: