Open Journal Systems
3.3.0
|
Static Public Member Functions | |
static | tempGroup ($inputType, $outputType) |
Static Public Member Functions inherited from Filter | |
static | supportedRuntimeEnvironmentSettings () |
Data Fields | |
$_filterGroup | |
$_settings = array() | |
Data Fields inherited from Filter | |
$_errors = array() | |
$_input | |
$_inputType | |
$_output | |
$_outputType | |
$_runtimeEnvironment = false | |
Data Fields inherited from DataObject | |
$_data = array() | |
$_extractionAdaptersLoaded = false | |
$_hasLoadableAdapters = false | |
$_injectionAdaptersLoaded = false | |
$_metadataExtractionAdapters = array() | |
$_metadataInjectionAdapters = array() | |
A filter that can be persisted to the database.
Persisted filters are attributed to a filter group so that all filters of the same kind can be discovered from the database.
Persisted filters also can provide a list of FilterSetting objects which represent persistable filter configuration parameters.
Persisted filters are templatable. This means that a non-parameterized copy of the filter can be persisted as a template for actual filter instances. The end user can discover such templates and use them to configure personalized transformations.
The filter template can provide default settings for all filter settings.
Persistable filters can be accessed via the FilterDAO which acts as a filter registry.
Filters can be organized hierarchically into filter networks or filter pipelines. The hierarchical relation is represented via parent- child relationships. See CompositeFilter for more details.
Definition at line 44 of file PersistableFilter.inc.php.
PersistableFilter::__construct | ( | $filterGroup | ) |
Constructor
NB: Sub-classes of this class must not add additional mandatory constructor arguments. Sub-classes that implement additional optional constructor arguments must make these also accessible via setters if they are required to fully parameterize the transformation. Filter parameters must be stored as data in the underlying DataObject.
This is necessary as the FilterDAO does not support constructor configuration. Filter parameters will be configured via DataObject::setData(). Only parameters that are available in the DataObject will be persisted.
$filterGroup | FilterGroup |
Reimplemented in O4DOIXmlFilter, DataciteXmlFilter, NativeExportFilter, NativeImportExportFilter, SubmissionNativeXmlFilter, TemplateBasedFilter, DOAJJsonFilter, DOAJXmlFilter, ArticleMedraXmlFilter, GalleyMedraXmlFilter, IssueMedraXmlFilter, NativeImportFilter, NativeXmlPKPAuthorFilter, NativeXmlPKPPublicationFilter, NativeXmlRepresentationFilter, NativeXmlSubmissionFileFilter, NativeXmlSubmissionFilter, PKPAuthorNativeXmlFilter, PKPPublicationNativeXmlFilter, RepresentationNativeXmlFilter, SubmissionFileNativeXmlFilter, NativeXmlUserGroupFilter, PKPUserUserXmlFilter, UserGroupNativeXmlFilter, UserXmlPKPUserFilter, PersistableTestFilter, ArticleCrossrefXmlFilter, IssueCrossrefXmlFilter, ArticleGalleyNativeXmlFilter, ArticleNativeXmlFilter, ArtworkFileNativeXmlFilter, AuthorNativeXmlFilter, IssueGalleyNativeXmlFilter, IssueNativeXmlFilter, NativeXmlArticleFileFilter, NativeXmlArticleFilter, NativeXmlArticleGalleyFilter, NativeXmlArtworkFileFilter, NativeXmlAuthorFilter, NativeXmlIssueFilter, NativeXmlIssueGalleyFilter, NativeXmlSupplementaryFileFilter, SupplementaryFileNativeXmlFilter, and ArticlePubMedXmlFilter.
Definition at line 74 of file PersistableFilter.inc.php.
References setIsTemplate(), and setParentFilterId().
PersistableFilter::addSetting | ( | $setting | ) |
Add a filter setting
$setting | FilterSetting |
Definition at line 145 of file PersistableFilter.inc.php.
References fatalError(), and getInternalSettings().
Referenced by PersistableTestFilter\__construct(), and XSLTransformationFilter\__construct().
PersistableFilter::getClassName | ( | ) |
Return the fully qualified class name of the filter class. This information must be persisted when saving a filter so that the filter can later be reconstructed from the information in the database.
(This must be hard coded by sub-classes for PHP4 compatibility. PHP4 always returns class names lowercase which we cannot tolerate as we need this path to find the class on case sensitive file systems.)
Reimplemented in XSLTransformationFilter, GenericMultiplexerFilter, DataciteXmlFilter, NativeXmlPKPAuthorFilter, NativeXmlSubmissionFileFilter, NativeXmlUserGroupFilter, NativeXmlArticleGalleyFilter, ArticleMedraXmlFilter, GalleyMedraXmlFilter, UserXmlPKPUserFilter, MetadataDescriptionDummyAdapter, IssueMedraXmlFilter, SubmissionNativeXmlFilter, GenericSequencerFilter, NativeXmlPKPPublicationFilter, NativeXmlSubmissionFilter, PKPAuthorNativeXmlFilter, RepresentationNativeXmlFilter, SubmissionFileNativeXmlFilter, PKPUserUserXmlFilter, UserGroupNativeXmlFilter, PersistableTestFilter, DOAJJsonFilter, DOAJXmlFilter, IssueGalleyNativeXmlFilter, IssueNativeXmlFilter, NativeXmlIssueFilter, NativeXmlRepresentationFilter, PKPPublicationNativeXmlFilter, ArticleCrossrefXmlFilter, IssueCrossrefXmlFilter, ArticleGalleyNativeXmlFilter, ArticleNativeXmlFilter, ArtworkFileNativeXmlFilter, AuthorNativeXmlFilter, NativeXmlArticleFileFilter, NativeXmlArticleFilter, NativeXmlArtworkFileFilter, NativeXmlAuthorFilter, NativeXmlIssueGalleyFilter, NativeXmlSupplementaryFileFilter, SupplementaryFileNativeXmlFilter, ArticlePubMedXmlFilter, Dc11SchemaArticleAdapter, NativeXmlPublicationFilter, and PublicationNativeXmlFilter.
Definition at line 205 of file PersistableFilter.inc.php.
PersistableFilter::getFilterGroup | ( | ) |
Get the filter group
Definition at line 93 of file PersistableFilter.inc.php.
References $_filterGroup.
PersistableFilter::getInternalSettings | ( | ) |
Returns names of settings which are in use by the filter class and therefore cannot be set as filter settings.
Reimplemented in CompositeFilter.
Definition at line 292 of file PersistableFilter.inc.php.
Referenced by addSetting().
PersistableFilter::getIsTemplate | ( | ) |
Is this a transformation template rather than an actual transformation?
Definition at line 121 of file PersistableFilter.inc.php.
References DataObject\getData().
PersistableFilter::getLocalizedSettingNames | ( | ) |
Return an array with the names of localized filter settings.
This will be used by the FilterDAO for filter setting persistence.
Reimplemented in CompositeFilter.
Definition at line 240 of file PersistableFilter.inc.php.
References getSettings().
PersistableFilter::getParentFilterId | ( | ) |
Get the parent filter id
Definition at line 137 of file PersistableFilter.inc.php.
References DataObject\getData().
PersistableFilter::getSetting | ( | $settingName | ) |
Get a filter setting
$settingName | string |
Reimplemented in CompositeFilter.
Definition at line 162 of file PersistableFilter.inc.php.
PersistableFilter::getSettingNames | ( | ) |
Return an array with the names of non-localized filter settings.
This will be used by the FilterDAO for filter setting persistence.
Reimplemented in CompositeFilter.
Definition at line 221 of file PersistableFilter.inc.php.
References getSettings().
& PersistableFilter::getSettings | ( | ) |
Get all filter settings
Reimplemented in CompositeFilter.
Definition at line 171 of file PersistableFilter.inc.php.
References $_settings.
Referenced by getLocalizedSettingNames(), and getSettingNames().
PersistableFilter::hasSetting | ( | $settingName | ) |
Check whether a given setting is present in this filter.
Definition at line 179 of file PersistableFilter.inc.php.
PersistableFilter::hasSettings | ( | ) |
Can this filter be parameterized?
Reimplemented in CompositeFilter.
Definition at line 187 of file PersistableFilter.inc.php.
PersistableFilter::setIsTemplate | ( | $isTemplate | ) |
Set whether this is a transformation template rather than an actual transformation.
Transformation templates are saved to the database when the filter is first registered. They are configured with default settings and will be used to let users identify available transformation types.
There must be exactly one transformation template for each supported filter group.
$isTemplate | boolean |
Definition at line 112 of file PersistableFilter.inc.php.
References DataObject\setData().
Referenced by __construct().
PersistableFilter::setParentFilterId | ( | $parentFilterId | ) |
Set the parent filter id
$parentFilterId | integer |
Definition at line 129 of file PersistableFilter.inc.php.
References DataObject\setData().
Referenced by __construct().
|
static |
There are certain generic filters (e.g. CompositeFilters) that sometimes need to be persisted and sometimes are instantiated and used in code only.
As we don't have multiple inheritance in PHP we'll have to use the more general filter type (PersistableFilter) as the base class of these "hybrid" filters.
This means that we carry around some structure (e.g. filter groups) that do only make sense when a filter is actually being persisted and otherwise create unnecessary code.
We provide this helper function to instantiate a temporary filter group on the fly with only an input and an output type which takes away at least some of the cruft.
$inputType | string |
$outputType | string |
Definition at line 274 of file PersistableFilter.inc.php.
Referenced by MetadataDescriptionDummyAdapter\__construct(), and PersistableFilterTest\testInstantiationAndExecute().
FilterGroup PersistableFilter::$_filterGroup |
Definition at line 49 of file PersistableFilter.inc.php.
Referenced by getFilterGroup().
array PersistableFilter::$_settings = array() |
a list of FilterSetting objects
Definition at line 55 of file PersistableFilter.inc.php.
Referenced by getSettings().