Open Monograph Press  3.3.0
CompositeFilter Class Reference
Inheritance diagram for CompositeFilter:
PersistableFilter Filter DataObject GenericMultiplexerFilter GenericSequencerFilter OtherCompositeFilter

Public Member Functions

 __construct (&$filterGroup, $displayName=null)
 
 _getCompositeSettingName ($settingName)
 
_getSubfilterSetting ($settingName)
 
 _resolveCompositeSettingName ($compositeSettingName)
 
 addFilter (&$filter)
 
getData ($key, $locale=null)
 
getFilter ($seq)
 
getFilters ()
 
 getInternalSettings ()
 
 getLocalizedSettingNames ()
 
getSetting ($settingName)
 
 getSettingNames ()
 
getSettings ()
 
 getSettingsMapping ()
 
 getSettingsMappingForSetting ($settingName)
 
 hasData ($key, $locale=null)
 
 hasSettings ()
 
 isCompatibleWithRuntimeEnvironment ()
 
 setData ($key, $value, $locale=null)
 
 setSettingsMapping ($settingsMapping)
 
- Public Member Functions inherited from PersistableFilter
 __construct ($filterGroup)
 
 addSetting ($setting)
 
 getClassName ()
 
 getFilterGroup ()
 
 getIsTemplate ()
 
 getParentFilterId ()
 
 hasSetting ($settingName)
 
 setIsTemplate ($isTemplate)
 
 setParentFilterId ($parentFilterId)
 
- Public Member Functions inherited from Filter
 __construct ($inputType, $outputType)
 
 addError ($message)
 
 clearErrors ()
 
execute (&$input, $returnErrors=false)
 
 getDisplayName ()
 
 getErrors ()
 
getInputType ()
 
getLastInput ()
 
getLastOutput ()
 
getOutputType ()
 
getRuntimeEnvironment ()
 
 getSequence ()
 
 hasErrors ()
 
process (&$input)
 
 setDisplayName ($displayName)
 
 setRuntimeEnvironment (&$runtimeEnvironment)
 
 setSequence ($seq)
 
 setTransformationType (&$inputType, &$outputType)
 
 supports (&$input, &$output)
 
 supportsAsInput (&$input)
 
- Public Member Functions inherited from DataObject
 __construct ()
 
 addSupportedMetadataAdapter ($metadataAdapter)
 
 extractMetadata ($metadataSchema)
 
 getAdditionalMetadataFieldNames ()
 
getAllData ()
 
 getDAO ()
 
 getHasLoadableAdapters ()
 
 getId ()
 
 getLocaleMetadataFieldNames ()
 
 getLocalizedData ($key, $preferredLocale=null)
 
 getMetadataFieldNames ($translated=true)
 
 getSetMetadataFieldNames ($translated=true)
 
 getSupportedExtractionAdapters ()
 
 getSupportedInjectionAdapters ()
 
 getSupportedMetadataSchemas ()
 
 injectMetadata ($metadataDescription)
 
 removeSupportedMetadataAdapter ($metadataSchemaName)
 
 setAllData (&$data)
 
 setHasLoadableAdapters ($hasLoadableAdapters)
 
 setId ($id)
 
 unsetData ($key, $locale=null)
 
 upcastTo ($targetObject)
 

Data Fields

 $_filters = array()
 
 $_maxSeq = 0
 
- Data Fields inherited from PersistableFilter
 $_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()
 

Additional Inherited Members

- Static Public Member Functions inherited from PersistableFilter
static tempGroup ($inputType, $outputType)
 
- Static Public Member Functions inherited from Filter
static supportedRuntimeEnvironmentSettings ()
 

Detailed Description

An abstract base class for generic filters that compose other filters into filter networks.

Definition at line 18 of file CompositeFilter.inc.php.

Constructor & Destructor Documentation

◆ __construct()

CompositeFilter::__construct ( $filterGroup,
  $displayName = null 
)

Constructor

Parameters
$filterGroupFilterGroup
$displayNamestring

Reimplemented in GenericMultiplexerFilter, and GenericSequencerFilter.

Definition at line 36 of file CompositeFilter.inc.php.

References Filter\setDisplayName().

Member Function Documentation

◆ _getCompositeSettingName()

CompositeFilter::_getCompositeSettingName (   $settingName)

Get the composite setting name for a mapped setting. If the setting is mapped to several sub-filters then we assume that they are identical and return only the first one.

Parameters
$settingNamestring
Returns
$compositeSettingName string

Definition at line 324 of file CompositeFilter.inc.php.

References getSettingsMappingForSetting().

Referenced by _getSubfilterSetting(), getData(), and hasData().

◆ _getSubfilterSetting()

& CompositeFilter::_getSubfilterSetting (   $settingName)

Get a setting object from a sub-filter. If the setting mapping points to several sub-filters then we assume that those settings are identical and will return only the first one.

Parameters
$settingNamestring a mapped sub-filter setting
Returns
FilterSetting

Definition at line 340 of file CompositeFilter.inc.php.

References _getCompositeSettingName(), and _resolveCompositeSettingName().

Referenced by getSetting(), and getSettings().

◆ _resolveCompositeSettingName()

CompositeFilter::_resolveCompositeSettingName (   $compositeSettingName)

Split a composite setting name and identify the corresponding sub-filter and setting name.

Parameters
$compositeSettingNamestring
Returns
array the first entry will be the sub-filter and the second entry the setting name.

Definition at line 354 of file CompositeFilter.inc.php.

References fatalError(), and getFilter().

Referenced by _getSubfilterSetting(), getData(), hasData(), and setData().

◆ addFilter()

CompositeFilter::addFilter ( $filter)

Adds a filter to the filter list.

NB: A filter that is using the sequence number of another filter will not be added.

Parameters
$filterFilter
Returns
integer the filter's sequence number, null if the sequence number of the filter had already been set before by a different filter and the filter has not been added.

Definition at line 56 of file CompositeFilter.inc.php.

References $_maxSeq.

◆ getData()

& CompositeFilter::getData (   $key,
  $locale = null 
)

◆ getFilter()

& CompositeFilter::getFilter (   $seq)

Identify a filter by sequence number.

Parameters
$seqinteger
Returns
Filter

Definition at line 83 of file CompositeFilter.inc.php.

Referenced by _resolveCompositeSettingName().

◆ getFilters()

& CompositeFilter::getFilters ( )

Gets the array of subfilters that are part of the composite filter.

Definition at line 95 of file CompositeFilter.inc.php.

References $_filters.

Referenced by isCompatibleWithRuntimeEnvironment(), GenericSequencerFilter\process(), and GenericMultiplexerFilter\process().

◆ getInternalSettings()

CompositeFilter::getInternalSettings ( )
See also
PersistableFilter::getInternalSettings()

Reimplemented from PersistableFilter.

Definition at line 235 of file CompositeFilter.inc.php.

Referenced by getData(), hasData(), and setData().

◆ getLocalizedSettingNames()

CompositeFilter::getLocalizedSettingNames ( )
See also
PersistableFilter::getLocalizedSettingNames()

Reimplemented from PersistableFilter.

Definition at line 219 of file CompositeFilter.inc.php.

Referenced by setData().

◆ getSetting()

& CompositeFilter::getSetting (   $settingName)
See also
PersistableFilter::getSetting()

Reimplemented from PersistableFilter.

Definition at line 159 of file CompositeFilter.inc.php.

References _getSubfilterSetting().

◆ getSettingNames()

CompositeFilter::getSettingNames ( )
See also
PersistableFilter::getSettingNames()

Reimplemented from PersistableFilter.

Definition at line 195 of file CompositeFilter.inc.php.

Referenced by getData(), and setData().

◆ getSettings()

& CompositeFilter::getSettings ( )
See also
PersistableFilter::getSettings()

Reimplemented from PersistableFilter.

Definition at line 170 of file CompositeFilter.inc.php.

References _getSubfilterSetting(), and getSettingsMapping().

◆ getSettingsMapping()

CompositeFilter::getSettingsMapping ( )

Get the settings mapping.

Definition at line 130 of file CompositeFilter.inc.php.

References getData().

Referenced by getSettings(), and hasSettings().

◆ getSettingsMappingForSetting()

CompositeFilter::getSettingsMappingForSetting (   $settingName)

Get a settings mapping

Returns
array

Definition at line 143 of file CompositeFilter.inc.php.

References getData().

Referenced by _getCompositeSettingName(), and setData().

◆ hasData()

CompositeFilter::hasData (   $key,
  $locale = null 
)

◆ hasSettings()

CompositeFilter::hasSettings ( )
See also
PersistableFilter::hasSettings()

Reimplemented from PersistableFilter.

Definition at line 185 of file CompositeFilter.inc.php.

References getSettingsMapping().

◆ isCompatibleWithRuntimeEnvironment()

CompositeFilter::isCompatibleWithRuntimeEnvironment ( )
See also
Filter::isCompatibleWithRuntimeEnvironment()

Reimplemented from Filter.

Definition at line 248 of file CompositeFilter.inc.php.

References getFilters().

◆ setData()

CompositeFilter::setData (   $key,
  $value,
  $locale = null 
)

◆ setSettingsMapping()

CompositeFilter::setSettingsMapping (   $settingsMapping)

Set the settings mappings

Parameters
$settingsMappingarray A settings mapping is of the form: array( $settingName => array($targetSetting1, $targetSetting2, ...), ... )

$settingName stands for a setting to be used as a placeholder in the composite filter for the target settings.

The target settings are of the form "seq_settingName" whereby "seq" stands for the sequence number of the target filter and "settingName" for the corresponding setting there. When you give more than one target setting then all target settings will be kept synchronous.

You have to map all sub-filter settings that you wish to access from the composite filter.

Definition at line 123 of file CompositeFilter.inc.php.

References setData().

Field Documentation

◆ $_filters

array CompositeFilter::$_filters = array()

An ordered array of sub-filters

Definition at line 23 of file CompositeFilter.inc.php.

Referenced by getFilters().

◆ $_maxSeq

integer CompositeFilter::$_maxSeq = 0

the max sequence number that has been attributed so far

Definition at line 29 of file CompositeFilter.inc.php.

Referenced by addFilter().


The documentation for this class was generated from the following file: