39 import(
'lib.pkp.classes.filter.Filter');
40 import(
'lib.pkp.classes.filter.FilterGroup');
42 define(
'FILTER_GROUP_TEMPORARY_ONLY',
'$$$temporary$$$');
70 assert(is_a($filterGroup,
'FilterGroup'));
71 $this->_filterGroup = $filterGroup;
76 parent::__construct($filterGroup->getInputType(), $filterGroup->getOutputType());
107 $this->
setData(
'isTemplate', (
boolean)$isTemplate);
116 return $this->
getData(
'isTemplate');
124 $this->
setData(
'parentFilterId', $parentFilterId);
132 return $this->
getData(
'parentFilterId');
140 assert(is_a($setting,
'FilterSetting'));
141 $settingName = $setting->getName();
147 assert(!isset($this->_settings[$settingName]));
148 $this->_settings[$settingName] = $setting;
157 assert(isset($this->_settings[$settingName]));
158 return $this->_settings[$settingName];
174 return isset($this->_settings[$settingName]);
182 return (is_array($this->_settings) &&
count($this->_settings));
216 $settingNames = array();
218 if (!$setting->getIsLocalized()) {
219 $settingNames[] = $setting->getName();
222 return $settingNames;
235 $localizedSettingNames = array();
237 if ($setting->getIsLocalized()) {
238 $localizedSettingNames[] = $setting->getName();
241 return $localizedSettingNames;
268 static function tempGroup($inputType, $outputType) {
270 $temporaryGroup->setSymbolic(FILTER_GROUP_TEMPORARY_ONLY);
271 $temporaryGroup->setInputType($inputType);
272 $temporaryGroup->setOutputType($outputType);
273 return $temporaryGroup;
287 return array(
'id',
'displayName',
'isTemplate',
'parentFilterId',
'seq');