original_string: public function getFilename(string $key): string
      {
          if (!$this->validate($key)) {
              throw new \InvalidArgumentException('The key provided (' . $key . ') is not valid! It may contain only the following characters: "a-z", "0-9", ".", "/", "-" and "_".');
          }
          if ($this->filenameProtocol === null) {
              throw new \Exception('No filenameProtocol specified!');
          }
          return $this->filenameProtocol . '://' . $key;
      }
code: public function getFilename(string $key): string
      {
          if (!$this->validate($key)) {
              throw new \InvalidArgumentException('The key provided (' . $key . ') is not valid! It may contain only the following characters: "a-z", "0-9", ".", "/", "-" and "_".');
          }
          if ($this->filenameProtocol === null) {
              throw new \Exception('No filenameProtocol specified!');
          }
          return $this->filenameProtocol . '://' . $key;
      }
code_tokens: public function getFilename ( string $ key ) : string { if ( ! $ this -> validate ( $ key ) ) { throw new \ InvalidArgumentException ( 'The key provided (' . $ key . ') is not valid! It may contain only the following characters: "a-z", "0-9", ".", "/", "-" and "_".' ) ; } if ( $ this -> filenameProtocol === null ) { throw new \ Exception ( 'No filenameProtocol specified!' ) ; } return $ this -> filenameProtocol . '://' . $ key ; }
docstring: Returns the filename of the data item specified.
  
  @param string $key The key of the data item.
  @return string The filename of the data item specified.
  @throws \Exception
  @throws \InvalidArgumentException
docstring_tokens: Returns the filename of the data item specified .