<?php namespace App\Models\Oai; use App\Exceptions\OaiModelException; class OaiModelError { /** * Define all valid error codes. */ const BADVERB = 1010; const BADARGUMENT = 1011; const CANNOTDISSEMINATEFORMAT = 1012; const BADRESUMPTIONTOKEN = 1013; const NORECORDSMATCH = 1014; const IDDOESNOTEXIST = 1015; /** * Holds OAI error codes for internal error numbers. * * @var array Valid OAI parameters. */ protected static $oaiErrorCodes = array( self::BADVERB => 'badVerb', self::BADARGUMENT => 'badArgument', self::NORECORDSMATCH => 'noRecordsMatch', self::CANNOTDISSEMINATEFORMAT => 'cannotDisseminateFormat', self::BADRESUMPTIONTOKEN => 'badResumptionToken', self::IDDOESNOTEXIST => 'idDoesNotExist', ); /** * Map internal error codes to OAI error codes. * * @param int $code Internal error code. * @return string OAI error code. */ public static function mapCode($code) { if (false === array_key_exists($code, self::$oaiErrorCodes)) { throw new OaiModelException("Unknown oai error code $code"); } return self::$oaiErrorCodes[$code]; } }