Mercurial > hg > isophonics-drupal-site
diff core/modules/locale/src/StringInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | af1871eacc83 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/locale/src/StringInterface.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,216 @@ +<?php + +namespace Drupal\locale; + +/** + * Defines the locale string interface. + */ +interface StringInterface { + + /** + * Gets the string unique identifier. + * + * @return int + * The string identifier. + */ + public function getId(); + + /** + * Sets the string unique identifier. + * + * @param int $id + * The string identifier. + * + * @return $this + */ + public function setId($id); + + /** + * Gets the string version. + * + * @return string + * Version identifier. + */ + public function getVersion(); + + /** + * Sets the string version. + * + * @param string $version + * Version identifier. + * + * @return $this + */ + public function setVersion($version); + + /** + * Gets plain string contained in this object. + * + * @return string + * The string contained in this object. + */ + public function getString(); + + /** + * Sets the string contained in this object. + * + * @param string $string + * String to set as value. + * + * @return $this + */ + public function setString($string); + + /** + * Splits string to work with plural values. + * + * @return array + * Array of strings that are plural variants. + */ + public function getPlurals(); + + /** + * Sets this string using array of plural values. + * + * Serializes plural variants in one string glued by LOCALE_PLURAL_DELIMITER. + * + * @param array $plurals + * Array of strings with plural variants. + * + * @return $this + */ + public function setPlurals($plurals); + + /** + * Gets the string storage. + * + * @return \Drupal\locale\StringStorageInterface + * The storage used for this string. + */ + public function getStorage(); + + /** + * Sets the string storage. + * + * @param \Drupal\locale\StringStorageInterface $storage + * The storage to use for this string. + * + * @return $this + */ + public function setStorage($storage); + + /** + * Checks whether the object is not saved to storage yet. + * + * @return bool + * TRUE if the object exists in the storage, FALSE otherwise. + */ + public function isNew(); + + /** + * Checks whether the object is a source string. + * + * @return bool + * TRUE if the object is a source string, FALSE otherwise. + */ + public function isSource(); + + /** + * Checks whether the object is a translation string. + * + * @return bool + * TRUE if the object is a translation string, FALSE otherwise. + */ + public function isTranslation(); + + /** + * Sets an array of values as object properties. + * + * @param array $values + * Array with values indexed by property name. + * @param bool $override + * (optional) Whether to override already set fields, defaults to TRUE. + * + * @return $this + */ + public function setValues(array $values, $override = TRUE); + + /** + * Gets field values that are set for given field names. + * + * @param array $fields + * Array of field names. + * + * @return array + * Array of field values indexed by field name. + */ + public function getValues(array $fields); + + /** + * Gets location information for this string. + * + * Locations are arbitrary pairs of type and name strings, used to store + * information about the origins of the string, like the file name it + * was found on, the path on which it was discovered, etc. + * + * A string can have any number of locations since the same string may be + * found on different places of Drupal code and configuration. + * + * @param bool $check_only + * (optional) Set to TRUE to get only new locations added during the + * current page request and not loading all existing locations. + * + * @return array + * Location ids indexed by type and name. + */ + public function getLocations($check_only = FALSE); + + /** + * Adds a location for this string. + * + * @param string $type + * Location type that may be any arbitrary string. Types used in Drupal + * core are: 'javascript', 'path', 'code', 'configuration'. + * @param string $name + * Location name. Drupal path in case of online discovered translations, + * file path in case of imported strings, configuration name for strings + * that come from configuration, etc. + * + * @return $this + */ + public function addLocation($type, $name); + + /** + * Checks whether the string has a given location. + * + * @param string $type + * Location type. + * @param string $name + * Location name. + * + * @return bool + * TRUE if the string has a location with this type and name. + */ + public function hasLocation($type, $name); + + /** + * Saves string object to storage. + * + * @return $this + * + * @throws \Drupal\locale\StringStorageException + * In case of failures, an exception is thrown. + */ + public function save(); + + /** + * Deletes string object from storage. + * + * @return $this + * + * @throws \Drupal\locale\StringStorageException + * In case of failures, an exception is thrown. + */ + public function delete(); + +}