/**
  * @param \Components\Io_Mimetype $mimeType_
  *
  * @return string
  */
 public function to(Io_Mimetype $mimeType_)
 {
     if (isset(self::$m_mapMimetypeSerializers[$mimeType_->name()])) {
         return $this->{self::$m_mapMimetypeSerializers[$mimeType_->name()]}();
     }
     return $this->__toString();
 }
 /**
  * Register additional marshaller implementations.
  *
  * @param Io_Mimetype $mimeType_
  * @param string $typeMarshaller_
  *
  * @throws Exception_IllegalArgument
  */
 public static function registerForMimetype(Io_Mimetype $mimeType_, $typeMarshaller_)
 {
     if (!$typeMarshaller_ instanceof self) {
         throw new Exception_IllegalArgument('object/marshaller', 'Passed type must extend from ' . __CLASS__ . '.');
     }
     self::$m_marshallerTypes[$mimeType_->name()] = $typeMarshaller_;
 }
 private function isValidMimetype(Io_Mimetype $mimeType_)
 {
     if (in_array($mimeType_->name(), $this->mimeTypesForbidden)) {
         return false;
     }
     return in_array($mimeType_->name(), $this->mimeTypesAllowed);
 }