Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Template Method / abstract base class

An abstract class that fixes the steps of an algorithm and leaves some of them to its subclasses. 69 instances in Exponential.

Download as PDF

Address: https://doc.exponential.earth/learninminutes/exphelp/viewer/standards/patterns/template-method.md

On this page

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.

GroupBehavior
Instances69
Recognized byAn abstract class with both abstract and concrete methods.
Extension pointExtend the base class and implement its abstract methods.

Classes by area

extension/cjw_newsletter (1)

All patterns of extension/cjw_newsletter

ClassKindFileDescriptionExtension point
CjwNewsletterSmsTransportBaseabstract classextension/cjw_newsletter/classes/sms/cjwnewslettersmstransportbase.php:29What 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

ClassKindFileDescriptionExtension point
expAiBatchApiabstract classextension/expai/classes/lanes/expaibatchapi.php:27A 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
expAiProviderBaseabstract classextension/expai/classes/expaiproviderbase.php:16What every built-in provider shares: its settings (the [Provider_] values merged with the [Model_] values, see expAiProviderRegistry::settingsFor()),…–
expAiSegmenterBaseabstract classextension/expai/classes/diff/expaisegmenterbase.php:14The 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.–
expAiToolabstract classextension/expai/classes/expaitool.php:16A tool the assistant can call.extension/expai/settings/rad.ini [Registry_expai_tools] Entries[Class]
expAiWebSearchProviderabstract classextension/expai/classes/web/expaiwebsearchprovider.php:16A web search service for web_search.extension/expai/settings/rad.ini [Registry_expai_search_providers] Entries[Class]
expAiWebToolabstract class extends expAiToolextension/expai/classes/web/expaiwebtool.php:19The 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

ClassKindFileDescriptionExtension point
expLayoutsAbstractContentBlockHandlerabstract classextension/explayouts/classes/explayoutsabstractcontentblockhandler.php:3––

extension/expquery_translator (2)

All patterns of extension/expquery_translator

ClassKindFileDescriptionExtension point
QueryTranslator\Languages\Galach\Generators\Lucene\Common\WordBaseabstract class extends Visitorextension/expquery_translator/lib/Languages/Galach/Generators/Lucene/Common/WordBase.php:14Base Word Node Visitor implementation.–
QueryTranslator\Languages\Galach\TokenExtractorabstract classextension/expquery_translator/lib/Languages/Galach/TokenExtractor.php:14Token extractor is used by Tokenizer to extract tokens from the input string.–

extension/expqueue (1)

All patterns of extension/expqueue

ClassKindFileDescriptionExtension point
expQueueHandlerBaseabstract classextension/expqueue/classes/expqueuehandlerbase.php:12A 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

ClassKindFileDescriptionExtension point
expAttrServiceBaseabstract class extends expServiceBaseextension/expservices/classes/media/expattrservicebase.php:11Shared helpers of the media services (images, files, media): finding a node's attribute of one datatype, absolute URLs, and the paged listing of the…–
expCommunityBaseabstract class extends expServiceBaseextension/expservices/classes/community/expcommunitybase.php:12The shared work of the forum, topic, reply and comment services: they are content services over configurable content classes ([Community] in expservi…–
expContentServiceBaseabstract class extends expServiceBaseextension/expservices/classes/content/expcontentbase.php:12The shared part of the content domains of expservices: fetch helpers with the access checks, the exporters that turn content objects into plain array…–
expServiceBaseabstract class extends ezjscServerFunctionsextension/expservices/classes/expservicebase.php:38––
expUsersBaseabstract class extends expServiceBaseextension/expservices/classes/users/expusersbase.php:21The 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

ClassKindFileDescriptionExtension point
expOEEditorEngineBaseabstract classextension/ezoe/classes/expoeeditorenginebase.php:14Convenience 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

ClassKindFileDescriptionExtension point
eZOAuthUserabstract class extends eZUserextension/sevenx_authentication_2fa/classes/ezoauthuser.php:26––

extension/sevenx_dse (8)

All patterns of extension/sevenx_dse

ClassKindFileDescriptionExtension point
AdminNeo\Connectionabstract classextension/sevenx_dse/adminneo/core/Connection.php:5––
AdminNeo\Driverabstract classextension/sevenx_dse/adminneo/core/Driver.php:5––
AdminNeo\MsSqlPdoConnectionabstract class extends PdoConnectionextension/sevenx_dse/adminneo/drivers/mssql.inc.php:236––
AdminNeo\Originabstract class extends Pluginextension/sevenx_dse/adminneo/core/Origin.php:7––
AdminNeo\PdoConnectionabstract class extends Connectionextension/sevenx_dse/adminneo/include/pdo.inc.php:11––
AdminNeo\Pluginabstract classextension/sevenx_dse/adminneo/core/Plugin.php:13Plugin parent class.–
AdminNeo\Resultabstract classextension/sevenx_dse/adminneo/core/Result.php:7––
AdminNeo\SqLiteConnectionBaseabstract class extends Connectionextension/sevenx_dse/adminneo/drivers/sqlite.inc.php:18––

extension/sqliimport (8)

All patterns of extension/sqliimport

ClassKindFileDescriptionExtension point
expImportAbstractSourceabstract classextension/sqliimport/classes/exp/expimportabstractsource.php:14The common part of the file sources: the configuration, the record reference from a key field, the sample and the text encoding.–
expImportContentLineSourceabstract class extends expImportAbstractSourceextension/sqliimport/classes/exp/sources/expimportcontentlinesource.php:21The common part of the text formats made of "content lines" (iCalendar, RFC 5545, and vCard, RFC 6350 and 2426):–
expImportCrawlSourceabstract class extends expImportJsonSourceextension/sqliimport/classes/exp/sources/expimportcrawlsource.php:16The common part of the formats that read public web pages (sitemap, webpage).–
expImportDataTableFieldSourceBaseabstract classextension/sqliimport/classes/exp/expimportdatatablefieldsourcebase.php:17The 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…–
expImportHttpQuerySourceabstract class extends expImportJsonSourceextension/sqliimport/classes/exp/sources/expimporthttpquerysource.php:19What 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…–
expImportShopCsvSourceabstract class extends expImportCsvSourceextension/sqliimport/classes/exp/sources/expimportshopcsvsource.php:18The 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…–
SQLIImportAbstractHandlerabstract classextension/sqliimport/classes/sourcehandlers/sqliimportabstracthandler.php:13Abstract class for all import handlers All import handlers must inherit from this class–
SQLIImportOptionsabstract class extends ezcBaseOptionsextension/sqliimport/classes/options/sqliimportoptions.php:18Base of all options classes for SQLIImport Simple override of ezcBaseOptions from eZComponents, implementing Iterator interface–

extension/xrowextract (1)

All patterns of extension/xrowextract

ClassKindFileDescriptionExtension point
XrowExtractTransportabstract classextension/xrowextract/classes/transports/xrowextracttransport.php:10One way of delivering a file to (or, for a scheduled import, fetching one from) a destination.–

extension/xrowmetadata (1)

All patterns of extension/xrowmetadata

ClassKindFileDescriptionExtension point
xrowSitemapItemabstract class extends ezcBaseStructextension/xrowmetadata/classes/structs/xrowsitemapitem.php:3––

kernel/classes (1)

All patterns of kernel/classes

ClassKindFileDescriptionExtension point
eZURLAliasFilterabstract classkernel/classes/ezurlaliasfilter.php:22The 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

ClassKindFileDescriptionExtension point
expAuditAlertRuleBaseabstract classkernel/classes/audit/alerts/expauditalertrulebase.php:13Shared 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…–
expAuditFormatBaseabstract classkernel/classes/audit/format/expauditformatbase.php:14Shared code of the archive format handlers (doc/eng-us/bc/6.0/audit.md, "Rotation, archives and retention"): streaming compression through a PHP stre…–
expAuditSinkBaseabstract classkernel/classes/audit/sinks/expauditsinkbase.php:14Shared code of the audit sinks: the sink's settings block ([AuditSink_]), which records it wants (Events[] patterns and MinSeverity) and whether it d…–
expAuditSourceBaseabstract classkernel/classes/audit/console/expauditsourcebase.php:11The 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

ClassKindFileDescriptionExtension point
expContentJobBatchTypeabstract classkernel/classes/contentjob/expcontentjobbatchtype.php:28The 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

ClassKindFileDescriptionExtension point
expIniActionBaseabstract classkernel/classes/ini/actions/expiniactionbase.php:15What 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

ClassKindFileDescriptionExtension point
expRequestPatternRuleSetabstract classkernel/classes/requestclassifier/exprequestpatternruleset.php:29A 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

ClassKindFileDescriptionExtension point
expSubitemsColumnabstract classkernel/classes/subitems/expsubitemscolumn.php:19The base class of a column of the admin subitems list ("Table options").–
expSubitemsFieldColumnabstract class extends expSubitemsColumnkernel/classes/subitems/columns/expsubitemsfieldcolumn.php:22The common base of the shipped column families of the admin subitems list.–

kernel/classes/syscard (1)

All patterns of kernel/classes/syscard

ClassKindFileDescriptionExtension point
expSysCardBaseProviderabstract classkernel/classes/syscard/expsyscardbaseprovider.php:23The usual provider: set the properties, write collect(), and use fact() and the helpers.–

kernel/classes/uiswitch (1)

All patterns of kernel/classes/uiswitch

ClassKindFileDescriptionExtension point
expUISwitchProviderabstract classkernel/classes/uiswitch/expuiswitchprovider.php:18The 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

ClassKindFileDescriptionExtension point
expExtensionWizardabstract classkernel/setup/expextensionwizard.php:20What every extension wizard needs, whatever kind of extension it builds.–
ezpClusterGatewayabstract classkernel/clustering/gateway.php:15Basis for a cluster gateway.–

kernel/private (12)

All patterns of kernel/private

ClassKindFileDescriptionExtension point
ezpAsynchronousPublishingFilterabstract classkernel/private/classes/ezpasynchronouspublishingfilter.php:24This interface is to be used to create accept/reject filters for the Asynchronous Publishing feature Each filter class must implement the accept() me…–
ezpContentExceptionabstract class extends ezcBaseExceptionkernel/private/api/content/exceptions/content_exception.php:17This is the base exception for the Exponential content API–
ezpOauthBadRequestExceptionabstract class extends ezpOauthExceptionkernel/private/rest/classes/exceptions/bad_request.php:17This is the base exception for triggering BAD REQUEST response.–
ezpOauthExceptionabstract class extends ezcBaseExceptionkernel/private/rest/classes/exceptions/oauth.php:17This is the base exception for the Exponential oauth library.–
ezpOauthRequiredExceptionabstract class extends ezpOauthExceptionkernel/private/rest/classes/exceptions/auth.php:17This is the base exception for responsenses need authentication.–
ezpRestAuthenticationStyleabstract classkernel/private/rest/classes/auth/styles/abstract_auth_style.php:11––
ezpRestCacheStorageClusterabstract class extends ezpRestCacheStorageFilekernel/private/rest/classes/cache/cluster.php:11––
ezpRestExceptionabstract class extends ezcBaseExceptionkernel/private/rest/classes/exceptions/rest_exception.php:17This is the base exception for the Exponential REST layer–
ezpRestMvcControllerabstract class extends ezcMvcControllerkernel/private/rest/classes/controllers/rest_controller.php:15Abstract class that must be extended by every REST controller–
ezpRestPrefixFilterInterfaceabstract classkernel/private/rest/classes/prefix_filter.php:12––
ezpRestRouteFilterInterfaceabstract classkernel/private/rest/classes/interfaces/route_filter.php:11––
ezpUpdatedContentabstract classkernel/private/rest/classes/sync/updates.php:23This class provides API through which one can query for updated content items.–

kernel/private/classes/runnable (4)

All patterns of kernel/private/classes/runnable

ClassKindFileDescriptionExtension point
Exponential\Runnable\Commandabstract class extends Runnablekernel/private/classes/runnable/command.php:36A CLI command.–
Exponential\Runnable\CronjobPartabstract class extends Runnablekernel/private/classes/runnable/cronjobpart.php:21A cronjob part.–
Exponential\Runnable\ModuleViewabstract class extends Runnablekernel/private/classes/runnable/moduleview.php:23A module view.–
Exponential\Runnable\Runnableabstract classkernel/private/classes/runnable/runnable.php:30The 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

ClassKindFileDescriptionExtension point
Exponential\View\Kernel\Mailpreferences\Pageabstract class extends ModuleViewkernel/private/classes/views/mailpreferences/page.php:19What the views of the mailpreferences module share: the variables of the including function, rendering a page of design:mailpreferences/, the answer…–

lib/ezdb (1)

All patterns of lib/ezdb

ClassKindFileDescriptionExtension point
eZMySQLCharsetabstract classlib/ezdb/classes/ezmysqlcharset.php:13––

lib/ezsession (1)

All patterns of lib/ezsession

ClassKindFileDescriptionExtension point
ezpSessionHandlerabstract classlib/ezsession/classes/ezpsessionhandler.php:27Abstract session handler class to extend–

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x