Merges default values for all plugin types.
public function mergeDefaults() {
$defined_options = $this
->defineOptions();
// Build a map of plural => singular for handler types.
$type_map = array();
foreach (ViewExecutable::viewsHandlerTypes() as $type => $info) {
$type_map[$info['plural']] = $type;
}
// Find all defined options, that have specified a merge_defaults callback.
foreach ($defined_options as $type => $definition) {
if (!isset($definition['merge_defaults']) || !is_callable($definition['merge_defaults'])) {
continue;
}
// Switch the type to singular, if it's a plural handler.
if (isset($type_map[$type])) {
$type = $type_map[$type];
}
call_user_func($definition['merge_defaults'], $type);
}
}