69 lines
2.7 KiB
PHP
69 lines
2.7 KiB
PHP
<?php
|
|
|
|
class OAI2Exception extends Exception {
|
|
|
|
function __construct($code = 0, $argument = '', $value = '') {
|
|
|
|
$this->errorTable = array(
|
|
'badArgument' => array(
|
|
'text' => "Attribute '{$argument}' is not allowed to appear in element 'request'.",
|
|
),
|
|
'badResumptionToken' => array(
|
|
'text' => "The resumptionToken '{$value}' does not exist or has already expired.",
|
|
),
|
|
'badGranularity' => array(
|
|
'text' => "The value '{$value}' of attribute '{$argument}' on element 'request' is not valid with respect to its type, 'UTCdatetimeType'.",
|
|
'code' => 'badArgument',
|
|
),
|
|
'badVerb' => array(
|
|
'text' => "Illegal OAI verb",
|
|
),
|
|
'cannotDisseminateFormat' => array(
|
|
'text' => "The metadata format '{$value}' given by {$argument} is not supported by this repository.",
|
|
),
|
|
'exclusiveArgument' => array(
|
|
'text' => 'The usage of resumptionToken as an argument allows no other arguments.',
|
|
'code' => 'badArgument',
|
|
),
|
|
'idDoesNotExist' => array(
|
|
'text' => "The value '{$value}' of the identifier does not exist in this repository.",
|
|
),
|
|
'missingArgument' => array(
|
|
'text' => "The required argument '{$argument}' is missing in the request.",
|
|
'code' => 'badArgument',
|
|
),
|
|
'noRecordsMatch' => array(
|
|
'text' => 'The combination of the given values results in an empty list.',
|
|
),
|
|
'noMetadataFormats' => array(
|
|
'text' => 'There are no metadata formats available for the specified item.',
|
|
),
|
|
'noSetHierarchy' => array(
|
|
'text' => 'This repository does not support sets.',
|
|
),
|
|
'sameArgument' => array(
|
|
'text' => 'Do not use the same argument more than once.',
|
|
'code' => 'badArgument',
|
|
),
|
|
'sameVerb' => array(
|
|
'text' => 'Do not use verb more than once.',
|
|
'code' => 'badVerb',
|
|
),
|
|
'notImp' => array(
|
|
'text' => 'Not yet implemented.',
|
|
'code' => 'debug',
|
|
),
|
|
''=> array(
|
|
'text' => "Unknown error: code: '{'code'}', argument: '{$argument}', value: '{$value}'",
|
|
'code' => 'badArgument',
|
|
)
|
|
);
|
|
parent::__construct($this->errorTable[$code]['text']);
|
|
$this->code = $code;
|
|
}
|
|
|
|
public function getOAI2Code() {
|
|
return $this->code;
|
|
}
|
|
}
|