Template Method / abstract base class
Note
This page is generated from the source code by php bin/php/exppatterncatalogue.php --write. Do not edit it by hand:
change the code or the generator, then run the command again. How the patterns are recognized: the pattern catalogue.
An abstract class that fixes the steps of an algorithm and leaves some of them to its subclasses.
| Group | Behavior |
| Instances | 69 |
| Recognized by | An abstract class with both abstract and concrete methods. |
| Extension point | Extend the base class and implement its abstract methods. |
Classes by area
extension/cjw_newsletter (1)
All patterns of extension/cjw_newsletter
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
CjwNewsletterSmsTransportBase | abstract class | extension/cjw_newsletter/classes/sms/cjwnewslettersmstransportbase.php:29 | What the shipped SMS transports share: the settings with their preset, the generic check of an inbound request (an HMAC of the body with a shared sec… | – |
extension/expai (6)
All patterns of extension/expai
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expAiBatchApi | abstract class | extension/expai/classes/lanes/expaibatchapi.php:27 | A provider's batch API: submit many requests at once, poll the batch, fetch the results, cancel, delete. | extension/expai/settings/rad.ini [Registry_expai_batch_apis] Implements |
expAiProviderBase | abstract class | extension/expai/classes/expaiproviderbase.php:16 | What every built-in provider shares: its settings (the [Provider_] values merged with the [Model_] values, see expAiProviderRegistry::settingsFor()),… | – |
expAiSegmenterBase | abstract class | extension/expai/classes/diff/expaisegmenterbase.php:14 | The plain-text segmenters' common part: blocks are pieces of text joined with a separator; merge() and compose() build the list of pieces and join it. | – |
expAiTool | abstract class | extension/expai/classes/expaitool.php:16 | A tool the assistant can call. | extension/expai/settings/rad.ini [Registry_expai_tools] Entries[Class] |
expAiWebSearchProvider | abstract class | extension/expai/classes/web/expaiwebsearchprovider.php:16 | A web search service for web_search. | extension/expai/settings/rad.ini [Registry_expai_search_providers] Entries[Class] |
expAiWebTool | abstract class extends expAiTool | extension/expai/classes/web/expaiwebtool.php:19 | The base of the tools that read outside the content tree (web_fetch, web_search, project_history): - available(): offered only to a user with the pol… | – |
extension/explayouts (1)
All patterns of extension/explayouts
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expLayoutsAbstractContentBlockHandler | abstract class | extension/explayouts/classes/explayoutsabstractcontentblockhandler.php:3 | – | – |
extension/expquery_translator (2)
All patterns of extension/expquery_translator
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
QueryTranslator\Languages\Galach\Generators\Lucene\Common\WordBase | abstract class extends Visitor | extension/expquery_translator/lib/Languages/Galach/Generators/Lucene/Common/WordBase.php:14 | Base Word Node Visitor implementation. | – |
QueryTranslator\Languages\Galach\TokenExtractor | abstract class | extension/expquery_translator/lib/Languages/Galach/TokenExtractor.php:14 | Token extractor is used by Tokenizer to extract tokens from the input string. | – |
extension/expqueue (1)
All patterns of extension/expqueue
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expQueueHandlerBase | abstract class | extension/expqueue/classes/expqueuehandlerbase.php:12 | A base for handlers with the optional parts: validate() is called when a job is queued (a wrong payload is refused there and then, not at 3 a.m. | – |
extension/expservices (5)
All patterns of extension/expservices
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expAttrServiceBase | abstract class extends expServiceBase | extension/expservices/classes/media/expattrservicebase.php:11 | Shared helpers of the media services (images, files, media): finding a node's attribute of one datatype, absolute URLs, and the paged listing of the… | – |
expCommunityBase | abstract class extends expServiceBase | extension/expservices/classes/community/expcommunitybase.php:12 | The shared work of the forum, topic, reply and comment services: they are content services over configurable content classes ([Community] in expservi… | – |
expContentServiceBase | abstract class extends expServiceBase | extension/expservices/classes/content/expcontentbase.php:12 | The shared part of the content domains of expservices: fetch helpers with the access checks, the exporters that turn content objects into plain array… | – |
expServiceBase | abstract class extends ezjscServerFunctions | extension/expservices/classes/expservicebase.php:38 | – | – |
expUsersBase | abstract class extends expServiceBase | extension/expservices/classes/users/expusersbase.php:21 | The shared part of the users and access domains of expservices: the compact declaration format and the helpers that encode users and groups without e… | – |
extension/ezoe (1)
All patterns of extension/ezoe
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expOEEditorEngineBase | abstract class | extension/ezoe/classes/expoeeditorenginebase.php:14 | Convenience base of editor engines: reads the engine's own ezoe.ini block [Engine_] (ToolbarMap[]=, ExternalPlugins[]=, Scripts[], Styles[], Version,… | – |
extension/sevenx_authentication_2fa (1)
All patterns of extension/sevenx_authentication_2fa
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
eZOAuthUser | abstract class extends eZUser | extension/sevenx_authentication_2fa/classes/ezoauthuser.php:26 | – | – |
extension/sevenx_dse (8)
All patterns of extension/sevenx_dse
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
AdminNeo\Connection | abstract class | extension/sevenx_dse/adminneo/core/Connection.php:5 | – | – |
AdminNeo\Driver | abstract class | extension/sevenx_dse/adminneo/core/Driver.php:5 | – | – |
AdminNeo\MsSqlPdoConnection | abstract class extends PdoConnection | extension/sevenx_dse/adminneo/drivers/mssql.inc.php:236 | – | – |
AdminNeo\Origin | abstract class extends Plugin | extension/sevenx_dse/adminneo/core/Origin.php:7 | – | – |
AdminNeo\PdoConnection | abstract class extends Connection | extension/sevenx_dse/adminneo/include/pdo.inc.php:11 | – | – |
AdminNeo\Plugin | abstract class | extension/sevenx_dse/adminneo/core/Plugin.php:13 | Plugin parent class. | – |
AdminNeo\Result | abstract class | extension/sevenx_dse/adminneo/core/Result.php:7 | – | – |
AdminNeo\SqLiteConnectionBase | abstract class extends Connection | extension/sevenx_dse/adminneo/drivers/sqlite.inc.php:18 | – | – |
extension/sqliimport (8)
All patterns of extension/sqliimport
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expImportAbstractSource | abstract class | extension/sqliimport/classes/exp/expimportabstractsource.php:14 | The common part of the file sources: the configuration, the record reference from a key field, the sample and the text encoding. | – |
expImportContentLineSource | abstract class extends expImportAbstractSource | extension/sqliimport/classes/exp/sources/expimportcontentlinesource.php:21 | The common part of the text formats made of "content lines" (iCalendar, RFC 5545, and vCard, RFC 6350 and 2426): | – |
expImportCrawlSource | abstract class extends expImportJsonSource | extension/sqliimport/classes/exp/sources/expimportcrawlsource.php:16 | The common part of the formats that read public web pages (sitemap, webpage). | – |
expImportDataTableFieldSourceBase | abstract class | extension/sqliimport/classes/exp/expimportdatatablefieldsourcebase.php:17 | The fields of an import's source for the kernel's "Module table" wizard (Exponential 6.0.15, the data table layer): the card "Create a new table from… | – |
expImportHttpQuerySource | abstract class extends expImportJsonSource | extension/sqliimport/classes/exp/sources/expimporthttpquerysource.php:19 | What the sources have in common that send a query in a database's own language to its HTTP API (Neo4j, ArangoDB, ClickHouse, Snowflake, InfluxDB): th… | – |
expImportShopCsvSource | abstract class extends expImportCsvSource | extension/sqliimport/classes/exp/sources/expimportshopcsvsource.php:18 | The product exports of shop systems as CSV, where one product may span several rows (its variants, its images): the file is read as the CSV source re… | – |
SQLIImportAbstractHandler | abstract class | extension/sqliimport/classes/sourcehandlers/sqliimportabstracthandler.php:13 | Abstract class for all import handlers All import handlers must inherit from this class | – |
SQLIImportOptions | abstract class extends ezcBaseOptions | extension/sqliimport/classes/options/sqliimportoptions.php:18 | Base of all options classes for SQLIImport Simple override of ezcBaseOptions from eZComponents, implementing Iterator interface | – |
extension/xrowextract (1)
All patterns of extension/xrowextract
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
XrowExtractTransport | abstract class | extension/xrowextract/classes/transports/xrowextracttransport.php:10 | One way of delivering a file to (or, for a scheduled import, fetching one from) a destination. | – |
extension/xrowmetadata (1)
All patterns of extension/xrowmetadata
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
xrowSitemapItem | abstract class extends ezcBaseStruct | extension/xrowmetadata/classes/structs/xrowsitemapitem.php:3 | – | – |
kernel/classes (1)
All patterns of kernel/classes
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
eZURLAliasFilter | abstract class | kernel/classes/ezurlaliasfilter.php:22 | The eZURLAliasFilter class the interface for all url alias filters, the filter implementation must implement the process method. | – |
kernel/classes/audit (4)
All patterns of kernel/classes/audit
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expAuditAlertRuleBase | abstract class | kernel/classes/audit/alerts/expauditalertrulebase.php:13 | Shared code of the built-in alert rule classes: the record fields a rule groups by, the time of a record, and the de-duplication (doc/eng-us/bc/6.0/a… | – |
expAuditFormatBase | abstract class | kernel/classes/audit/format/expauditformatbase.php:14 | Shared code of the archive format handlers (doc/eng-us/bc/6.0/audit.md, "Rotation, archives and retention"): streaming compression through a PHP stre… | – |
expAuditSinkBase | abstract class | kernel/classes/audit/sinks/expauditsinkbase.php:14 | Shared code of the audit sinks: the sink's settings block ([AuditSink_]), which records it wants (Events[] patterns and MinSeverity) and whether it d… | – |
expAuditSourceBase | abstract class | kernel/classes/audit/console/expauditsourcebase.php:11 | The base of an audit console source (expAuditSource): every method answers "nothing", so a source implements only what it shows. | – |
kernel/classes/contentjob (1)
All patterns of kernel/classes/contentjob
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expContentJobBatchType | abstract class | kernel/classes/contentjob/expcontentjobbatchtype.php:28 | The common ground of the content job types that work on a list of nodes: move, hide, reveal, section, state, addlocation and removelocation. | – |
kernel/classes/ini (1)
All patterns of kernel/classes/ini
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expIniActionBase | abstract class | kernel/classes/ini/actions/expiniactionbase.php:15 | What the built-in exp:ini actions share: the three describing methods from class constants, the printing of a value as INI lines, and the small check… | – |
kernel/classes/requestclassifier (1)
All patterns of kernel/classes/requestclassifier
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expRequestPatternRuleSet | abstract class | kernel/classes/requestclassifier/exprequestpatternruleset.php:29 | A rule set made of regular expressions: one per rule, all of them compiled into one combined expression, so a request costs one preg_match() per subj… | – |
kernel/classes/subitems (2)
All patterns of kernel/classes/subitems
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expSubitemsColumn | abstract class | kernel/classes/subitems/expsubitemscolumn.php:19 | The base class of a column of the admin subitems list ("Table options"). | – |
expSubitemsFieldColumn | abstract class extends expSubitemsColumn | kernel/classes/subitems/columns/expsubitemsfieldcolumn.php:22 | The common base of the shipped column families of the admin subitems list. | – |
kernel/classes/syscard (1)
All patterns of kernel/classes/syscard
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expSysCardBaseProvider | abstract class | kernel/classes/syscard/expsyscardbaseprovider.php:23 | The usual provider: set the properties, write collect(), and use fact() and the helpers. | – |
kernel/classes/uiswitch (1)
All patterns of kernel/classes/uiswitch
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expUISwitchProvider | abstract class | kernel/classes/uiswitch/expuiswitchprovider.php:18 | The common part of a UI switch provider: its settings group uiswitch.ini [UISwitch_], the allow-list from AllowedValues[] (each value checked by the… | – |
kernel/modules (2)
All patterns of kernel/modules
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
expExtensionWizard | abstract class | kernel/setup/expextensionwizard.php:20 | What every extension wizard needs, whatever kind of extension it builds. | – |
ezpClusterGateway | abstract class | kernel/clustering/gateway.php:15 | Basis for a cluster gateway. | – |
kernel/private (12)
All patterns of kernel/private
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
ezpAsynchronousPublishingFilter | abstract class | kernel/private/classes/ezpasynchronouspublishingfilter.php:24 | This interface is to be used to create accept/reject filters for the Asynchronous Publishing feature Each filter class must implement the accept() me… | – |
ezpContentException | abstract class extends ezcBaseException | kernel/private/api/content/exceptions/content_exception.php:17 | This is the base exception for the Exponential content API | – |
ezpOauthBadRequestException | abstract class extends ezpOauthException | kernel/private/rest/classes/exceptions/bad_request.php:17 | This is the base exception for triggering BAD REQUEST response. | – |
ezpOauthException | abstract class extends ezcBaseException | kernel/private/rest/classes/exceptions/oauth.php:17 | This is the base exception for the Exponential oauth library. | – |
ezpOauthRequiredException | abstract class extends ezpOauthException | kernel/private/rest/classes/exceptions/auth.php:17 | This is the base exception for responsenses need authentication. | – |
ezpRestAuthenticationStyle | abstract class | kernel/private/rest/classes/auth/styles/abstract_auth_style.php:11 | – | – |
ezpRestCacheStorageCluster | abstract class extends ezpRestCacheStorageFile | kernel/private/rest/classes/cache/cluster.php:11 | – | – |
ezpRestException | abstract class extends ezcBaseException | kernel/private/rest/classes/exceptions/rest_exception.php:17 | This is the base exception for the Exponential REST layer | – |
ezpRestMvcController | abstract class extends ezcMvcController | kernel/private/rest/classes/controllers/rest_controller.php:15 | Abstract class that must be extended by every REST controller | – |
ezpRestPrefixFilterInterface | abstract class | kernel/private/rest/classes/prefix_filter.php:12 | – | – |
ezpRestRouteFilterInterface | abstract class | kernel/private/rest/classes/interfaces/route_filter.php:11 | – | – |
ezpUpdatedContent | abstract class | kernel/private/rest/classes/sync/updates.php:23 | This class provides API through which one can query for updated content items. | – |
kernel/private/classes/runnable (4)
All patterns of kernel/private/classes/runnable
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
Exponential\Runnable\Command | abstract class extends Runnable | kernel/private/classes/runnable/command.php:36 | A CLI command. | – |
Exponential\Runnable\CronjobPart | abstract class extends Runnable | kernel/private/classes/runnable/cronjobpart.php:21 | A cronjob part. | – |
Exponential\Runnable\ModuleView | abstract class extends Runnable | kernel/private/classes/runnable/moduleview.php:23 | A module view. | – |
Exponential\Runnable\Runnable | abstract class | kernel/private/classes/runnable/runnable.php:30 | The base of everything Exponential runs from a file: CLI commands (bin/), cronjob parts (cronjobs/) and module views (kernel//.php, extension//module… | – |
kernel/private/classes/views (1)
All patterns of kernel/private/classes/views
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
Exponential\View\Kernel\Mailpreferences\Page | abstract class extends ModuleView | kernel/private/classes/views/mailpreferences/page.php:19 | What the views of the mailpreferences module share: the variables of the including function, rendering a page of design:mailpreferences/, the answer… | – |
lib/ezdb (1)
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
eZMySQLCharset | abstract class | lib/ezdb/classes/ezmysqlcharset.php:13 | – | – |
lib/ezsession (1)
| Class | Kind | File | Description | Extension point |
|---|---|---|---|---|
ezpSessionHandler | abstract class | lib/ezsession/classes/ezpsessionhandler.php:27 | Abstract session handler class to extend | – |