Open Journal Systems  3.3.0
OAIMetadataFormatPlugin.inc.php
1 <?php
2 
16 import('lib.pkp.classes.plugins.Plugin');
17 import('lib.pkp.classes.oai.OAIStruct');
18 
19 abstract class OAIMetadataFormatPlugin extends Plugin {
20 
24  function register($category, $path, $mainContextId = null) {
25  if (!parent::register($category, $path, $mainContextId)) return false;
26  $this->addLocaleData();
27  if ($this->getEnabled()) HookRegistry::register('OAI::metadataFormats', array($this, 'callback_formatRequest'));
28  return true;
29  }
30 
34  static function getMetadataPrefix() {
35  assert(false); // Should always be overridden
36  }
37 
38  static function getSchema() {
39  return '';
40  }
41 
42  static function getNamespace() {
43  return '';
44  }
45 
49  abstract function getFormatClass();
50 
51  function callback_formatRequest($hookName, $args) {
52  $namesOnly = $args[0];
53  $identifier = $args[1];
54  $formats =& $args[2];
55 
56  if ($namesOnly) {
57  $formats = array_merge($formats,array($this->getMetadataPrefix()));
58  } else {
59  $formatClass = $this->getFormatClass();
60  $formats = array_merge(
61  $formats,
62  array($this->getMetadataPrefix() => new $formatClass($this->getMetadataPrefix(), $this->getSchema(), $this->getNamespace()))
63  );
64  }
65  return false;
66  }
67 }
68 
69 
OAIMetadataFormatPlugin\getFormatClass
getFormatClass()
OAIMetadataFormatPlugin\getMetadataPrefix
static getMetadataPrefix()
Definition: OAIMetadataFormatPlugin.inc.php:34
Plugin\getEnabled
getEnabled()
Definition: Plugin.inc.php:868
OAIMetadataFormatPlugin
Abstract class for OAI Metadata format plugins.
Definition: OAIMetadataFormatPlugin.inc.php:19
OAIMetadataFormatPlugin\getNamespace
static getNamespace()
Definition: OAIMetadataFormatPlugin.inc.php:42
Plugin
Abstract class for plugins.
Definition: Plugin.inc.php:51
Plugin\addLocaleData
addLocaleData($locale=null)
Definition: Plugin.inc.php:454
HookRegistry\register
static register($hookName, $callback, $hookSequence=HOOK_SEQUENCE_NORMAL)
Definition: HookRegistry.inc.php:70
OAIMetadataFormatPlugin\callback_formatRequest
callback_formatRequest($hookName, $args)
Definition: OAIMetadataFormatPlugin.inc.php:51
OAIMetadataFormatPlugin\getSchema
static getSchema()
Definition: OAIMetadataFormatPlugin.inc.php:38