Overview

Namespaces

  • AnalyseModule
    • Models
  • BaseModule
    • Exceptions
    • Models
    • Repository
    • Services
  • DispatchModule
    • Helpers
    • Models
    • Tools
  • PredictModule
  • SearchModule

Classes

  • AnalyseModule\AnalysePresenter
  • AnalyseModule\ConservancyPresenter
  • AnalyseModule\Models\BaseTool
  • AnalyseModule\Models\ConservancyComparator
  • BaseModule\BasePresenter
  • BaseModule\DiscoveredViewReflection
  • BaseModule\ErrorPresenter
  • BaseModule\Form
  • BaseModule\HomepagePresenter
  • BaseModule\Models\BaseModel
  • BaseModule\Models\FileModel
  • BaseModule\PesekPresenter
  • BaseModule\Repository\BaseRepository
  • BaseModule\Repository\TestRepository
  • BaseModule\RouterFactory
  • BaseModule\RssPresenter
  • BaseModule\Services\Authenticator
  • BaseModule\Services\BaseService
  • BaseModule\Services\DbService
  • DispatchModule\BaseMatch
  • DispatchModule\BaseParser
  • DispatchModule\BlastMatch
  • DispatchModule\BlatMatch
  • DispatchModule\Helpers\RnaplotHelper
  • DispatchModule\Helpers\TravelerHelper
  • DispatchModule\Models\BaseModel
  • DispatchModule\Models\BlastModel
  • DispatchModule\Models\BlastXMLParser
  • DispatchModule\Models\BlatModel
  • DispatchModule\Models\Cppredict2Model
  • DispatchModule\Models\CppredictModel
  • DispatchModule\Models\FastaModel
  • DispatchModule\Models\FileModel
  • DispatchModule\PredictParser
  • DispatchModule\ResultSet
  • DispatchModule\SearchParser
  • DispatchModule\Sequence
  • DispatchModule\Tools\AnnotationDbTool
  • DispatchModule\Tools\BaseTool
  • DispatchModule\Tools\Cppredict2Tool
  • DispatchModule\Tools\DbTool
  • DispatchModule\Tools\SimilarityTool
  • DispatchModule\Tools\TaxonomyDbTool
  • PredictModule\PredictPresenter
  • SearchModule\SearchPresenter

Interfaces

  • DispatchModule\Tools\ToolInterface

Exceptions

  • BaseModule\Exceptions\BaseException
  • BaseModule\Exceptions\NotFoundException
  • BaseModule\Exceptions\ToolException
  • Overview
  • Namespace
  • Class
 1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 
<?php

namespace DispatchModule\Tools;

/**
 * BaseTool contains default implementation of some mandatory tool methods
 * - serves only as a helper (reduces code duplicity)
 */
abstract class BaseTool extends \BaseModule\Services\BaseService {

    /**
     * List of all wanted parameters by the tool in format
     * 'parameterName' => array('parameterType', 'parameterLabel', possiblyAnotherOptions)
     * parameterType depends on \Base\Form
     *
     * @var array array of wanted parameters
     */
    protected $wantedParameters = array();

    /**
     * Short description of the tool
     * @var string
     */
    public $description;

    /**
     * Default file name for tool temp files (without ext)
     * @var string
     */
    public $fileName;

    /**
     * @var array additional data for tool (basically data collected from POST of HTTP request)
     */
    public $completeData;

    /**
     * Tells whether any sequence is set
     * @return boolean
     */
    public function used() {
        return true;
    }

    /**
     * Indicates, whether tool needs parameter with specified name
     *
     * @param string parameter name
     * @return boolean true, if specified parameter is required by the tool
     */
    public function requireParameter($parameter) {
        $modifiers = array();
        foreach ($this->getWantedParameters() as $item) {
            if (isset($item[2]) && isset($item[2]['modifiers'])) {
                foreach ($item[2]['modifiers'] as $modifierName => $modifier) {
                    $modifiers[$modifierName] = $modifier;
                }
            }
        }
        $searchArray = array_merge($this->getWantedParameters(), $modifiers);
        return array_key_exists($parameter, $searchArray);
    }

    /**
     * Gets lowercase tool class name without postfix (so for "BaseTool", "base" is returned)
     *
     * @return string lowercased tool name without postfix
     */
    public function getName() {
        $className = \Nette\Utils\Strings::lower(get_class($this));

        // remove namespaces
        if (preg_match('@\\\\([\w]+)$@', $className, $matches)) {
            $className = $matches[1];
        }

        // remove postfix, if it exists
        if (\Nette\Utils\Strings::endsWith($className, 'tool')) {
            return \Nette\Utils\Strings::substring($className, 0, -4);
        }
        return $className;
    }

    /**
     * Get parameters, that tool wants
     *
     * @return array array of wanted parameters (indexed by its name)
     */
    public function getWantedParameters() {
        return $this->wantedParameters;
    }

}
API documentation generated by ApiGen