Location: /modules/EnsEMBL/Web/Proxy.pm
Source code · Permalink
No superclasses





  • clear_problems
  • get_problem_type
  • has_a_problem
  • has_fatal_problem
  • has_problem_type
  • problem
  • species_defs
  • timer
  • timer_push
  • user_details
Documentation coverage: 54 %


    Nasty Voodoo magic

    Loop through all the plugins and if they can perform the requested function action it on the child objects....

    If the function sets __data->{'_drop_through_'} to 1 then no further action is taken...

    If it sets it to a value other than one then this function is called after the function has been called on all the other children
    View source

    Accessor. returns a reference to the array of child (EnsEMBL::*::$supertype::$objecttype) objects
    View source

    Accessor. return data hash
    View source

    Accessor. gets type of Object being proxied (e.g. Gene/Transcript/Location/...)
    View source

    Accessor. gets supertype of Proxy (i.e. Factory/Object;)
    View source

    View source

    Nasty Voodoo magic (part II)

    Because we have an AUTOLOAD function all functions are possible and can will always return 1 - so we over-ride can to return 1 if any child can perform this function.
    View source

    View source

    Creates a new Proxy object. Usually called from EnsEMBL::Web::Proxy::Object.

    The EnsEMBL::Web::Factory of a particular Ensembl type (such as EnsEMBL::Web::Factory::User sets up necessary parameters in the EnsEMBL::Web::Factory::User::createObjects style method. This method usually calls EnsEMBL::Web::Factory::dataObjects, setting a newly created EnsEMBL::Web::Proxy::Object as the Factory's data object.

    On creating a new EnsEMBL::Web::Proxy::Object, a data type (such as 'User'), an "object" and a set of data parameters are used to configure the new data object are specified. These values are passed back to this method:
  • The data type is accessible as $type
  • The data parameters are accessible as the $data hashref
  • The "object" is accessible via the _object key of the %extra_elements hash

  • The "object" can be a reference to any Perl type, blessed or unblessed, and is passed on to the Ensembl data type (such as Location, User etc) as part of a hashref with many other configuration settings (the SpeciesDefs object, the user id, the script config settings), which may or may not have been set by default, or been configured in the data parameters passed in from the EnsEMBL::Web::Proxy::Object instantiation.

    In essence, should you want a set of parameters to be sent to a particular Ensembl data type for use in initialising an object of that type, these parameters should be sent as the "object" when a new EnsEMBL::Web::Proxy::Object is defined in the type's Factory.

    It is interesting to note that this instantiation process contains all the hall
    marks of a good Poirot novel obfuscation, misdirection, intrege and murder.

    View source

    View source

    Nasty Voodoo magic (part III)

    Ref will just return that you have a Proxy object - but we don't want to to do so this function the underlying object type (and also what children are also
    View source

    View source

    Accessor. sets/gets species
    View source