| Code Coverage | ||||||||||
| Classes and Traits | Functions and Methods | Lines | ||||||||
| Total |  | 0 / 0 |  | 100.00% | 0 / 0 | CRAP |  | 100.00% | 0 / 0 | |
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Core\Database\Query\ExtendableInterface. | |
| */ | |
| namespace Drupal\Core\Database\Query; | |
| /** | |
| * Interface for extendable query objects. | |
| * | |
| * "Extenders" follow the "Decorator" OOP design pattern. That is, they wrap | |
| * and "decorate" another object. In our case, they implement the same interface | |
| * as select queries and wrap a select query, to which they delegate almost all | |
| * operations. Subclasses of this class may implement additional methods or | |
| * override existing methods as appropriate. Extenders may also wrap other | |
| * extender objects, allowing for arbitrarily complex "enhanced" queries. | |
| */ | |
| interface ExtendableInterface { | |
| /** | |
| * Enhance this object by wrapping it in an extender object. | |
| * | |
| * @param $extender_name | |
| * The base name of the extending class. The base name will be checked | |
| * against the current database connection to allow driver-specific subclasses | |
| * as well, using the same logic as the query objects themselves. | |
| * @return \Drupal\Core\Database\Query\ExtendableInterface | |
| * The extender object, which now contains a reference to this object. | |
| */ | |
| public function extend($extender_name); | |
| } |