59 lines
1.4 KiB
PHP
59 lines
1.4 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @file classes/plugins/MetadataPlugin.php
|
|
*
|
|
* Copyright (c) 2014-2021 Simon Fraser University
|
|
* Copyright (c) 2003-2021 John Willinsky
|
|
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
|
*
|
|
* @class MetadataPlugin
|
|
*
|
|
* @ingroup plugins
|
|
*
|
|
* @brief Abstract class for metadata plugins
|
|
*/
|
|
|
|
namespace PKP\plugins;
|
|
|
|
abstract class MetadataPlugin extends Plugin
|
|
{
|
|
//
|
|
// Override public methods from Plugin
|
|
//
|
|
/**
|
|
* @copydoc Plugin::register()
|
|
*
|
|
* @param null|mixed $mainContextId
|
|
*/
|
|
public function register($category, $path, $mainContextId = null)
|
|
{
|
|
if (!parent::register($category, $path, $mainContextId)) {
|
|
return false;
|
|
}
|
|
$this->addLocaleData();
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Get a unique id for this metadata format
|
|
*
|
|
* @param string $format The format to check for support.
|
|
*
|
|
* @return string
|
|
*/
|
|
abstract public function supportsFormat($format);
|
|
|
|
/**
|
|
* Instantiate and return the schema object for this metadata format
|
|
*
|
|
* @param string $format The format to return the schema object for in case
|
|
* the plugin supports multiple formats.
|
|
*/
|
|
abstract public function getSchemaObject($format);
|
|
}
|
|
|
|
if (!PKP_STRICT_MODE) {
|
|
class_alias('\PKP\plugins\MetadataPlugin', '\MetadataPlugin');
|
|
}
|