Newer
Older
<?php
namespace Drupal\locale;
/**
* Defines the locale string storage interface.
*/
interface StringStorageInterface {
/**
* Loads multiple source string objects.
*
* @param array $conditions
* (optional) Array with conditions that will be used to filter the strings
* returned and may include any of the following elements:
* - Any simple field value indexed by field name.
* - 'translated', TRUE to get only translated strings or FALSE to get only
* untranslated strings. If not set it returns both translated and
* untranslated strings that fit the other conditions.
* Defaults to no conditions which means that it will load all strings.
* @param array $options
* (optional) An associative array of additional options. It may contain
* any of the following optional keys:
* - 'filters': Array of string filters indexed by field name.
* - 'pager limit': Use pager and set this limit value.
*
* @return array
Jennifer Hodgdon
committed
* Array of \Drupal\locale\StringInterface objects matching the conditions.
*/
public function getStrings(array $conditions = array(), array $options = array());
/**
* Loads multiple string translation objects.
*
* @param array $conditions
* (optional) Array with conditions that will be used to filter the strings
* returned and may include all of the conditions defined by getStrings().
* @param array $options
* (optional) An associative array of additional options. It may contain
* any of the options defined by getStrings().
*
Jennifer Hodgdon
committed
* @return \Drupal\locale\StringInterface[]
Jennifer Hodgdon
committed
* Array of \Drupal\locale\StringInterface objects matching the conditions.
*
* @see \Drupal\locale\StringStorageInterface::getStrings()
*/
public function getTranslations(array $conditions = array(), array $options = array());
catch
committed
/**
* Loads string location information.
*
* @param array $conditions
* (optional) Array with conditions to filter the locations that may be any
Alex Pott
committed
* of the following elements:
* - 'sid', The string identifier.
catch
committed
* - 'type', The location type.
* - 'name', The location name.
*
Jennifer Hodgdon
committed
* @return \Drupal\locale\StringInterface[]
Jennifer Hodgdon
committed
* Array of \Drupal\locale\StringInterface objects matching the conditions.
*
* @see \Drupal\locale\StringStorageInterface::getStrings()
catch
committed
*/
public function getLocations(array $conditions = array());
/**
* Loads a string source object, fast query.
*
* These 'fast query' methods are the ones in the critical path and their
* implementation must be optimized for speed, as they may run many times
* in a single page request.
*
* @param array $conditions
* (optional) Array with conditions that will be used to filter the strings
* returned and may include all of the conditions defined by getStrings().
*
Jennifer Hodgdon
committed
* @return \Drupal\locale\SourceString|null
* Minimal TranslationString object if found, NULL otherwise.
*/
Angie Byron
committed
public function findString(array $conditions);
/**
* Loads a string translation object, fast query.
*
catch
committed
* This function must only be used when actually translating strings as it
* will have the effect of updating the string version. For other purposes
* the getTranslations() method should be used instead.
*
* @param array $conditions
* (optional) Array with conditions that will be used to filter the strings
* returned and may include all of the conditions defined by getStrings().
*
Jennifer Hodgdon
committed
* @return \Drupal\locale\TranslationString|null
* Minimal TranslationString object if found, NULL otherwise.
*/
Angie Byron
committed
public function findTranslation(array $conditions);
/**
* Save string object to storage.
*
Jennifer Hodgdon
committed
* @param \Drupal\locale\StringInterface $string
* The string object.
*
Jennifer Hodgdon
committed
* @return \Drupal\locale\StringStorageInterface
* The called object.
*
Jennifer Hodgdon
committed
* @throws \Drupal\locale\StringStorageException
* In case of failures, an exception is thrown.
*/
public function save($string);
/**
* Delete string from storage.
*
Jennifer Hodgdon
committed
* @param \Drupal\locale\StringInterface $string
* The string object.
*
Jennifer Hodgdon
committed
* @return \Drupal\locale\StringStorageInterface
* The called object.
*
Jennifer Hodgdon
committed
* @throws \Drupal\locale\StringStorageException
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
* In case of failures, an exception is thrown.
*/
public function delete($string);
/**
* Deletes source strings and translations using conditions.
*
* @param array $conditions
* Array with simple field conditions for source strings.
*/
public function deleteStrings($conditions);
/**
* Deletes translations using conditions.
*
* @param array $conditions
* Array with simple field conditions for string translations.
*/
public function deleteTranslations($conditions);
/**
* Counts source strings.
*
* @return int
* The number of source strings contained in the storage.
*/
public function countStrings();
/**
* Counts translations.
*
* @return array
* The number of translations for each language indexed by language code.
*/
public function countTranslations();
/**
* Creates a source string object bound to this storage but not saved.
*
* @param array $values
* (optional) Array with initial values. Defaults to empty array.
*
Jennifer Hodgdon
committed
* @return \Drupal\locale\SourceString
* New source string object.
*/
public function createString($values = array());
/**
* Creates a string translation object bound to this storage but not saved.
*
* @param array $values
* (optional) Array with initial values. Defaults to empty array.
*
Jennifer Hodgdon
committed
* @return \Drupal\locale\TranslationString
* New string translation object.
*/
public function createTranslation($values = array());
}