/**
  * @see	wcf\system\clipboard\action\IClipboardAction::execute()
  */
 public function execute(array $objects, $actionName, $typeData = array())
 {
     $item = new ClipboardEditorItem();
     // handle actions
     switch ($actionName) {
         case 'assignToGroup':
             $item->setName('user.assignToGroup');
             $item->setURL(LinkHandler::getInstance()->getLink('UserAssignToGroup'));
             break;
         case 'delete':
             $userIDs = $this->validateDelete($objects);
             if (!count($userIDs)) {
                 return null;
             }
             $item->addInternalData('confirmMessage', WCF::getLanguage()->getDynamicVariable('wcf.clipboard.item.user.delete.confirmMessage', array('count' => count($userIDs))));
             $item->addParameter('actionName', 'delete');
             $item->addParameter('className', 'wcf\\data\\user\\UserAction');
             $item->addParameter('objectIDs', $userIDs);
             $item->setName('user.delete');
             break;
         case 'exportMailAddress':
             $item->setName('user.exportMailAddress');
             $item->setURL(LinkHandler::getInstance()->getLink('UserEmailAddressExport'));
             break;
         case 'sendMail':
             $item->setName('user.sendMail');
             $item->setURL(LinkHandler::getInstance()->getLink('UserMail'));
             break;
         default:
             throw new SystemException("action '" . $actionName . "' is invalid");
             break;
     }
     return $item;
 }