MediaWiki  master
MediaWiki\Api\Validator\SubmoduleDef Class Reference

Type definition for submodule types. More...

Inheritance diagram for MediaWiki\Api\Validator\SubmoduleDef:
Collaboration diagram for MediaWiki\Api\Validator\SubmoduleDef:

Public Member Functions

 checkSettings (string $name, $settings, array $options, array $ret)
 Validate a parameter settings array. More...
 
 getEnumValues ( $name, array $settings, array $options)
 Get the values for enum-like parameters. More...
 
 getParamInfo ( $name, array $settings, array $options)
 Describe parameter settings in a machine-readable format. More...
 
- Public Member Functions inherited from Wikimedia\ParamValidator\TypeDef\EnumDef
 getHelpInfo ( $name, array $settings, array $options)
 Describe parameter settings in human-readable format. More...
 
 stringifyValue ( $name, $value, array $settings, array $options)
 Convert a value to a string representation. More...
 
 validate ( $name, $value, array $settings, array $options)
 Validate the value. More...
 
- Public Member Functions inherited from Wikimedia\ParamValidator\TypeDef
 __construct (Callbacks $callbacks)
 Stable to call. More...
 
 getValue ( $name, array $settings, array $options)
 Get the value from the request Stable to override. More...
 
 normalizeSettings (array $settings)
 Normalize a settings array Stable to override. More...
 

Public Attributes

const PARAM_SUBMODULE_MAP = 'param-submodule-map'
 (string[]) Map parameter values to submodule paths. More...
 
const PARAM_SUBMODULE_PARAM_PREFIX = 'param-submodule-param-prefix'
 (string) Used to indicate the 'g' prefix added by ApiQueryGeneratorBase (and similar if anything else ever does that). More...
 
- Public Attributes inherited from Wikimedia\ParamValidator\TypeDef\EnumDef
const PARAM_DEPRECATED_VALUES = 'param-deprecated-values'
 (array) Associative array of deprecated values. More...
 

Protected Member Functions

 getEnumValuesForHelp ( $name, array $settings, array $options)
 Return enum values formatted for the help message. More...
 
 sortEnumValues (string $name, array $values, array $settings, array $options)
 Sort enum values for help/param info output. More...
 
- Protected Member Functions inherited from Wikimedia\ParamValidator\TypeDef
 failure ( $failure, $name, $value, array $settings, array $options, $fatal=true)
 Record a failure message. More...
 
 failureMessage ( $code, array $data=null, $suffix=null)
 Create a DataMessageValue representing a failure. More...
 

Private Member Functions

 getSubmoduleMap (ApiBase $module, string $name, array $settings)
 

Additional Inherited Members

- Protected Attributes inherited from Wikimedia\ParamValidator\TypeDef
Callbacks $callbacks
 

Detailed Description

Type definition for submodule types.

A submodule type is an enum type for selecting Action API submodules.

Since
1.35

Definition at line 17 of file SubmoduleDef.php.

Member Function Documentation

◆ checkSettings()

MediaWiki\Api\Validator\SubmoduleDef::checkSettings ( string  $name,
  $settings,
array  $options,
array  $ret 
)

Validate a parameter settings array.

This is intended for validation of parameter settings during unit or integration testing, and should implement strict checks.

The rest of the code should generally be more permissive.

See also
ParamValidator::checkSettings() Stable to override
Parameters
string$nameParameter name
array | mixed$settingsDefault value or an array of settings using PARAM_* constants.
array$optionsOptions array, passed through to the TypeDef and Callbacks.
array$ret
  • 'issues': (string[]) Errors detected in $settings, as English text. If the settings are valid, this will be the empty array. Keys on input are ParamValidator constants, allowing the typedef to easily override core validation; this need not be preserved when returned.
  • 'allowedKeys': (string[]) ParamValidator keys that are allowed in $settings.
  • 'messages': (MessageValue[]) Messages to be checked for existence.
Returns
array $ret, with any relevant changes.

Reimplemented from Wikimedia\ParamValidator\TypeDef\EnumDef.

Definition at line 33 of file SubmoduleDef.php.

References MediaWiki\Api\Validator\SubmoduleDef\PARAM_SUBMODULE_MAP, and MediaWiki\Api\Validator\SubmoduleDef\PARAM_SUBMODULE_PARAM_PREFIX.

◆ getEnumValues()

MediaWiki\Api\Validator\SubmoduleDef::getEnumValues (   $name,
array  $settings,
array  $options 
)

Get the values for enum-like parameters.

This is primarily intended for documentation and implementation of PARAM_ALL; it is the responsibility of the TypeDef to ensure that validate() accepts the values returned here. Stable to override

Parameters
string$nameParameter name being validated.
array$settingsParameter settings array.
array$optionsOptions array.
Returns
array|null All possible enumerated values, or null if this is not an enumeration.

Reimplemented from Wikimedia\ParamValidator\TypeDef\EnumDef.

Definition at line 76 of file SubmoduleDef.php.

References $modules.

◆ getEnumValuesForHelp()

MediaWiki\Api\Validator\SubmoduleDef::getEnumValuesForHelp (   $name,
array  $settings,
array  $options 
)
protected

Return enum values formatted for the help message.

Parameters
string$nameParameter name being described.
array$settingsParameter settings array.
array$optionsOptions array.
Returns
(MessageParam|string)[]

Reimplemented from Wikimedia\ParamValidator\TypeDef\EnumDef.

Definition at line 181 of file SubmoduleDef.php.

References Html\element(), and MediaWiki\Api\Validator\SubmoduleDef\getSubmoduleMap().

◆ getParamInfo()

MediaWiki\Api\Validator\SubmoduleDef::getParamInfo (   $name,
array  $settings,
array  $options 
)

Describe parameter settings in a machine-readable format.

Keys should be short strings using lowercase ASCII letters. Values should generally be values that could be encoded in JSON or the like.

This is intended to handle PARAM constants specific to this class. It generally shouldn't handle constants defined on ParamValidator itself. Stable to override

Parameters
string$nameParameter name.
array$settingsParameter settings array.
array$optionsOptions array.
Returns
array

Reimplemented from Wikimedia\ParamValidator\TypeDef\EnumDef.

Definition at line 86 of file SubmoduleDef.php.

References MediaWiki\Api\Validator\SubmoduleDef\PARAM_SUBMODULE_MAP, and MediaWiki\Api\Validator\SubmoduleDef\PARAM_SUBMODULE_PARAM_PREFIX.

◆ getSubmoduleMap()

MediaWiki\Api\Validator\SubmoduleDef::getSubmoduleMap ( ApiBase  $module,
string  $name,
array  $settings 
)
private

◆ sortEnumValues()

MediaWiki\Api\Validator\SubmoduleDef::sortEnumValues ( string  $name,
array  $values,
array  $settings,
array  $options 
)
protected

Sort enum values for help/param info output.

Parameters
string$nameParameter name being described.
string[]$valuesValues being sorted
array$settingsParameter settings array.
array$optionsOptions array.
Returns
string[]

Reimplemented from Wikimedia\ParamValidator\TypeDef\EnumDef.

Definition at line 154 of file SubmoduleDef.php.

References MediaWiki\Api\Validator\SubmoduleDef\getSubmoduleMap().

Member Data Documentation

◆ PARAM_SUBMODULE_MAP

const MediaWiki\Api\Validator\SubmoduleDef::PARAM_SUBMODULE_MAP = 'param-submodule-map'

(string[]) Map parameter values to submodule paths.

Default is to use all modules in $options['module']->getModuleManager() in the group matching the parameter name.

Definition at line 25 of file SubmoduleDef.php.

Referenced by MediaWiki\Api\Validator\SubmoduleDef\checkSettings(), MediaWiki\Api\Validator\SubmoduleDef\getParamInfo(), and MediaWiki\Api\Validator\SubmoduleDef\getSubmoduleMap().

◆ PARAM_SUBMODULE_PARAM_PREFIX

const MediaWiki\Api\Validator\SubmoduleDef::PARAM_SUBMODULE_PARAM_PREFIX = 'param-submodule-param-prefix'

(string) Used to indicate the 'g' prefix added by ApiQueryGeneratorBase (and similar if anything else ever does that).

Definition at line 31 of file SubmoduleDef.php.

Referenced by MediaWiki\Api\Validator\SubmoduleDef\checkSettings(), and MediaWiki\Api\Validator\SubmoduleDef\getParamInfo().


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