Class Option Recommendations

Below, is a list of classes that may be updated with final or abstract.
The red stars mention possible upgrade by using final or abstract keywords; The green stars mention a valid absence of the option (an extended class, that can't be final, ...); The absence of star report currently configured classes. .

Final Abstract Name Path
class Table extends \League\CLImate\TerminalObject\Basic\Table \grav\console\terminalobjects\table
class PageSystemValidatorCommand extends GravCommand \grav\console\cli\pagesystemvalidatorcommand
class YamlLinterCommand extends GravCommand \grav\console\cli\yamllintercommand
class SchedulerCommand extends GravCommand \grav\console\cli\schedulercommand
class SecurityCommand extends GravCommand \grav\console\cli\securitycommand
class InstallCommand extends GravCommand \grav\console\cli\installcommand
class ComposerCommand extends GravCommand \grav\console\cli\composercommand
class LogViewerCommand extends GravCommand \grav\console\cli\logviewercommand
class FlexRegisterEvent extends Event \grav\events\flexregisterevent
class PageEvent extends Event \grav\events\pageevent
class BeforeSessionStartEvent extends Event \grav\events\beforesessionstartevent
class PermissionsRegisterEvent extends Event \grav\events\permissionsregisterevent
class TypesEvent extends Event \grav\events\typesevent
class PluginsLoadedEvent extends Event \grav\events\pluginsloadedevent
class InstallException extends \RuntimeException \grav\installer\installexception
class PluginListCommand extends ConsoleCommand \grav\console\plugin\pluginlistcommand
class UninstallCommand extends GpmCommand \grav\console\gpm\uninstallcommand
class VersionCommand extends GpmCommand \grav\console\gpm\versioncommand
class HtmlBlock extends ContentBlock implements HtmlBlockInterface \grav\framework\contentblock\htmlblock
class UpdateCommand extends GpmCommand \grav\console\gpm\updatecommand
  class PaginationPage extends AbstractPaginationPage \grav\framework\pagination\paginationpage
class DirectInstallCommand extends GpmCommand \grav\console\gpm\directinstallcommand
  class Pagination extends AbstractPagination \grav\framework\pagination\pagination
class IndexCommand extends GpmCommand \grav\console\gpm\indexcommand
class FormFlashFile implements UploadedFileInterface, JsonSerializable \grav\framework\form\formflashfile
class SelfupgradeCommand extends GpmCommand \grav\console\gpm\selfupgradecommand
  class FileCollection extends AbstractFileCollection \grav\framework\collection\filecollection
class GravApplication extends Application \grav\console\application\gravapplication
class RequestHandler implements RequestHandlerInterface \grav\framework\requesthandler\requesthandler
class GpmApplication extends Application \grav\console\application\gpmapplication
class CleanCommand extends Command \grav\console\cli\cleancommand
class SandboxCommand extends GravCommand \grav\console\cli\sandboxcommand
class ServerCommand extends GravCommand \grav\console\cli\servercommand
class ClearCacheCommand extends GravCommand \grav\console\cli\clearcachecommand
class BackupCommand extends GravCommand \grav\console\cli\backupcommand
class NewProjectCommand extends GravCommand \grav\console\cli\newprojectcommand
class InfoCommand extends GpmCommand \grav\console\gpm\infocommand
class InstallCommand extends GpmCommand \grav\console\gpm\installcommand
  class MemoryCache extends AbstractCache \grav\framework\cache\adapter\memorycache
  class DoctrineCache extends AbstractCache \grav\framework\cache\adapter\doctrinecache
  class SessionCache extends AbstractCache \grav\framework\cache\adapter\sessioncache
class InvalidArgumentException extends \InvalidArgumentException implements SimpleCacheInvalidArgumentException \grav\framework\cache\exception\invalidargumentexception
class CacheException extends Exception implements SimpleCacheException \grav\framework\cache\exception\cacheexception
class Route \grav\framework\route\route
class RouteFactory \grav\framework\route\routefactory
  class File extends AbstractFile \grav\framework\file\file
class Exceptions implements MiddlewareInterface \grav\framework\requesthandler\middlewares\exceptions
class PluginApplication extends Application \grav\console\application\pluginapplication
class MultipartRequestSupport implements MiddlewareInterface \grav\framework\requesthandler\middlewares\multipartrequestsupport
class PluginCommandLoader implements CommandLoaderInterface \grav\console\application\commandloader\plugincommandloader
class PageExpiredException extends RequestException \grav\framework\requesthandler\exception\pageexpiredexception
class NotHandledException extends NotFoundException \grav\framework\requesthandler\exception\nothandledexception
class InvalidArgumentException extends \InvalidArgumentException \grav\framework\requesthandler\exception\invalidargumentexception
class UserProcessor implements ProcessorInterface \grav\framework\logger\processors\userprocessor
  class FileCache extends AbstractCache \grav\framework\cache\adapter\filecache
  class ChainCache extends AbstractCache \grav\framework\cache\adapter\chaincache
  class IniFormatter extends AbstractFormatter \grav\framework\file\formatter\iniformatter
  class YamlFormatter extends AbstractFormatter \grav\framework\file\formatter\yamlformatter
  class MarkdownFormatter extends AbstractFormatter \grav\framework\file\formatter\markdownformatter
class Filesystem implements FilesystemInterface \grav\framework\filesystem\filesystem
class ArrayObject implements NestedObjectInterface, ArrayAccess \grav\framework\object\arrayobject
class LazyObject implements NestedObjectInterface, ArrayAccess \grav\framework\object\lazyobject
class ObjectExpressionVisitor extends ClosureExpressionVisitor \grav\framework\object\collection\objectexpressionvisitor
class MimeTypes \grav\framework\mime\mimetypes
class JsonFile extends DataFile \grav\framework\file\jsonfile
class CsvFile extends DataFile \grav\framework\file\csvfile
class MarkdownFile extends DataFile \grav\framework\file\markdownfile
class YamlFile extends DataFile \grav\framework\file\yamlfile
class IniFile extends DataFile \grav\framework\file\inifile
  class JsonFormatter extends AbstractFormatter \grav\framework\file\formatter\jsonformatter
  class CsvFormatter extends AbstractFormatter \grav\framework\file\formatter\csvformatter
  class SerializeFormatter extends AbstractFormatter \grav\framework\file\formatter\serializeformatter
class FlexFormFlash extends FormFlash \grav\framework\flex\flexformflash
  class SimpleStorage extends AbstractFilesystemStorage \grav\framework\flex\storage\simplestorage
class Relationships implements RelationshipsInterface \grav\framework\relationships\relationships
class ToManyRelationship implements ToManyRelationshipInterface \grav\framework\relationships\tomanyrelationship
class ToOneRelationship implements ToOneRelationshipInterface \grav\framework\relationships\toonerelationship
class Action implements IteratorAggregate, Countable \grav\framework\acl\action
class Permissions implements ArrayAccess, Countable, IteratorAggregate \grav\framework\acl\permissions
class PermissionsReader \grav\framework\acl\permissionsreader
class UriFactory \grav\framework\uri\urifactory
  class Uri extends AbstractUri \grav\framework\uri\uri
class UriPartsFilter \grav\framework\uri\uripartsfilter
class FlexDirectory implements FlexDirectoryInterface \grav\framework\flex\flexdirectory
class Flex implements FlexInterface \grav\framework\flex\flex
class FlexDirectoryForm implements FlexDirectoryFormInterface, JsonSerializable \grav\framework\flex\flexdirectoryform
class FlexIdentifier extends Identifier \grav\framework\flex\flexidentifier
class FlexForm implements FlexObjectFormInterface, JsonSerializable \grav\framework\flex\flexform
class MediaObject implements MediaObjectInterface \grav\framework\media\mediaobject
class UploadedMediaObject implements MediaObjectInterface \grav\framework\media\uploadedmediaobject
class Messages implements \Serializable \grav\framework\session\messages
class SessionException extends RuntimeException \grav\framework\session\exceptions\sessionexception
class Taxonomy \grav\common\taxonomy
class Themes extends Iterator \grav\common\themes
class Cache extends Getters \grav\common\cache
class Session extends \Grav\Framework\Session\Session \grav\common\session
class RecursiveActionIterator implements RecursiveIterator, \Countable \grav\framework\acl\recursiveactioniterator
class Response implements ResponseInterface \grav\framework\psr7\response
class Stream implements StreamInterface \grav\framework\psr7\stream
class Request implements RequestInterface \grav\framework\psr7\request
class Uri implements UriInterface \grav\framework\psr7\uri
class UploadedFile implements UploadedFileInterface \grav\framework\psr7\uploadedfile
class ServerRequest implements ServerRequestInterface \grav\framework\psr7\serverrequest
class MediaIdentifier extends Identifier \grav\framework\media\mediaidentifier
class Inflector \grav\common\inflector
class Assets extends PropertyObject \grav\common\assets
class Header implements ArrayAccess, ExportInterface, JsonSerializable \grav\common\page\header
class Collection extends Iterator implements PageCollectionInterface \grav\common\page\collection
class Types implements \ArrayAccess, \Iterator, \Countable \grav\common\page\types
class Page implements PageInterface \grav\common\page\page
  class Media extends AbstractMedia \grav\common\page\media
class Pages \grav\common\page\pages
class Theme extends Plugin \grav\common\theme
class Plugins extends Iterator \grav\common\plugins
class Debugger \grav\common\debugger
class Composer \grav\common\composer
class Uri \grav\common\uri
class Grav extends Container \grav\common\grav
class Browser \grav\common\browser
class Security \grav\common\security
class ThumbnailImageMedium extends ImageMedium \grav\common\page\medium\thumbnailimagemedium
class FormFlash extends FrameworkFormFlash \grav\common\form\formflash
class CompiledJsonFile extends JsonFile \grav\common\file\compiledjsonfile
class CompiledYamlFile extends YamlFile \grav\common\file\compiledyamlfile
class CompiledMarkdownFile extends MarkdownFile \grav\common\file\compiledmarkdownfile
class CompiledLanguages extends CompiledBase \grav\common\config\compiledlanguages
class CompiledConfig extends CompiledBase \grav\common\config\compiledconfig
class Languages extends Data \grav\common\config\languages
class Excerpts \grav\common\page\markdown\excerpts
class VectorImageMedium extends StaticImageMedium \grav\common\page\medium\vectorimagemedium
class VideoMedium extends Medium implements VideoMediaInterface \grav\common\page\medium\videomedium
class MediumFactory \grav\common\page\medium\mediumfactory
class Link implements RenderableInterface, MediaLinkInterface \grav\common\page\medium\link
class ImageFile extends Image \grav\common\page\medium\imagefile
class AudioMedium extends Medium implements AudioMediaInterface \grav\common\page\medium\audiomedium
  class GlobalMedia extends AbstractMedia \grav\common\page\medium\globalmedia
class Job \grav\common\scheduler\job
class Language \grav\common\language\language
class LanguageCodes \grav\common\language\languagecodes
class Access extends \Grav\Framework\Acl\Access \grav\common\user\access
class Group extends Data \grav\common\user\group
class User extends DataUser\User \grav\common\user\user
class UserCollection implements UserCollectionInterface \grav\common\user\datauser\usercollection
class Config extends Data \grav\common\config\config
class Setup extends Data \grav\common\config\setup
class ConfigFileFinder \grav\common\config\configfilefinder
class CompiledBlueprints extends CompiledBase \grav\common\config\compiledblueprints
class Parsedown extends \Parsedown \grav\common\markdown\parsedown
class ParsedownExtra extends \ParsedownExtra \grav\common\markdown\parsedownextra
class Cron \grav\common\scheduler\cron
class Scheduler \grav\common\scheduler\scheduler
class BackupsProcessor extends ProcessorBase \grav\common\processors\backupsprocessor
class AssetsProcessor extends ProcessorBase \grav\common\processors\assetsprocessor
class RequestProcessor extends ProcessorBase \grav\common\processors\requestprocessor
class ThemesProcessor extends ProcessorBase \grav\common\processors\themesprocessor
class RenderProcessor extends ProcessorBase \grav\common\processors\renderprocessor
class SchedulerProcessor extends ProcessorBase \grav\common\processors\schedulerprocessor
class PagesProcessor extends ProcessorBase \grav\common\processors\pagesprocessor
class RequestHandlerEvent extends Event \grav\common\processors\events\requesthandlerevent
class RecursiveDirectoryFilterIterator extends RecursiveFilterIterator \grav\common\filesystem\recursivedirectoryfilteriterator
class RecursiveFolderFilterIterator extends \RecursiveFilterIterator \grav\common\filesystem\recursivefolderfilteriterator
class ZipArchiver extends Archiver \grav\common\filesystem\ziparchiver
class TasksProcessor extends ProcessorBase \grav\common\processors\tasksprocessor
class PluginsProcessor extends ProcessorBase \grav\common\processors\pluginsprocessor
class TwigProcessor extends ProcessorBase \grav\common\processors\twigprocessor
class DebuggerAssetsProcessor extends ProcessorBase \grav\common\processors\debuggerassetsprocessor
class InitializeProcessor extends ProcessorBase \grav\common\processors\initializeprocessor
  class Plugins extends AbstractPackageCollection \grav\common\gpm\local\plugins
class Packages extends CachedCollection \grav\common\gpm\local\packages
class Package extends BasePackage implements \JsonSerializable \grav\common\gpm\remote\package
  class Themes extends AbstractPackageCollection \grav\common\gpm\remote\themes
  class GravCore extends AbstractPackageCollection \grav\common\gpm\remote\gravcore
class BareHandler extends Handler \grav\common\errors\barehandler
class Response \grav\common\http\response
class Client \grav\common\http\client
class Upgrader \grav\common\gpm\upgrader
class Licenses \grav\common\gpm\licenses
class Installer \grav\common\gpm\installer
class GPM extends Iterator \grav\common\gpm\gpm
class Package extends BasePackage \grav\common\gpm\local\package
class PagesServiceProvider implements ServiceProviderInterface \grav\common\service\pagesserviceprovider
class SchedulerServiceProvider implements ServiceProviderInterface \grav\common\service\schedulerserviceprovider
class InflectorServiceProvider implements ServiceProviderInterface \grav\common\service\inflectorserviceprovider
class TaskServiceProvider implements ServiceProviderInterface \grav\common\service\taskserviceprovider
class AssetsServiceProvider implements ServiceProviderInterface \grav\common\service\assetsserviceprovider
class ConfigServiceProvider implements ServiceProviderInterface \grav\common\service\configserviceprovider
class StreamsServiceProvider implements ServiceProviderInterface \grav\common\service\streamsserviceprovider
class OutputServiceProvider implements ServiceProviderInterface \grav\common\service\outputserviceprovider
class Errors \grav\common\errors\errors
class SystemFacade extends \Whoops\Util\SystemFacade \grav\common\errors\systemfacade
class SimplePageHandler extends Handler \grav\common\errors\simplepagehandler
class BackupsServiceProvider implements ServiceProviderInterface \grav\common\service\backupsserviceprovider
class AccountsServiceProvider implements ServiceProviderInterface \grav\common\service\accountsserviceprovider
class FilesystemServiceProvider implements ServiceProviderInterface \grav\common\service\filesystemserviceprovider
class SessionServiceProvider implements ServiceProviderInterface \grav\common\service\sessionserviceprovider
class ErrorServiceProvider implements ServiceProviderInterface \grav\common\service\errorserviceprovider
  class FilesystemExtension extends AbstractExtension \grav\common\twig\extension\filesystemextension
  class TwigTokenParserTryCatch extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparsertrycatch
  class TwigTokenParserRender extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparserrender
  class TwigTokenParserCache extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparsercache
  class TwigTokenParserSwitch extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparserswitch
  class TwigTokenParserThrow extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparserthrow
  class TwigTokenParserScript extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparserscript
  class TwigTokenParserMarkdown extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparsermarkdown
class RequestServiceProvider implements ServiceProviderInterface \grav\common\service\requestserviceprovider
class LoggerServiceProvider implements ServiceProviderInterface \grav\common\service\loggerserviceprovider
class FlexServiceProvider implements ServiceProviderInterface \grav\common\service\flexserviceprovider
class TwigClockworkDataSource extends DataSource \grav\common\twig\twigclockworkdatasource
class TwigExtension extends GravExtension \grav\common\twig\twigextension
class Twig \grav\common\twig\twig
class TwigEnvironment extends Environment \grav\common\twig\twigenvironment
class TwigClockworkDumper \grav\common\twig\twigclockworkdumper
class TwigNodeStyle extends Node implements NodeCaptureInterface \grav\common\twig\node\twignodestyle
class TwigNodeLink extends Node implements NodeCaptureInterface \grav\common\twig\node\twignodelink
class TwigNodeSwitch extends Node \grav\common\twig\node\twignodeswitch
class TwigException extends RuntimeException \grav\common\twig\exception\twigexception
class Backups \grav\common\backup\backups
class Blueprint extends BlueprintForm \grav\common\data\blueprint
class Blueprints \grav\common\data\blueprints
class ValidationException extends RuntimeException implements JsonSerializable \grav\common\data\validationexception
  class TwigTokenParserStyle extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparserstyle
  class TwigTokenParserLink extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparserlink
class TwigNodeMarkdown extends Node implements NodeOutputInterface \grav\common\twig\node\twignodemarkdown
class TwigNodeThrow extends Node \grav\common\twig\node\twignodethrow
class TwigNodeCache extends Node implements NodeOutputInterface \grav\common\twig\node\twignodecache
class TwigNodeRender extends Node implements NodeCaptureInterface \grav\common\twig\node\twignoderender
class TwigNodeTryCatch extends Node \grav\common\twig\node\twignodetrycatch
class TwigNodeScript extends Node implements NodeCaptureInterface \grav\common\twig\node\twignodescript
class Pipeline extends PropertyObject \grav\common\assets\pipeline
class InlineJsModule extends BaseAsset \grav\common\assets\inlinejsmodule
class Css extends BaseAsset \grav\common\assets\css
class UserGroupObject extends FlexObject implements UserGroupInterface \grav\common\flex\types\usergroups\usergroupobject
class UserGroupCollection extends FlexCollection \grav\common\flex\types\usergroups\usergroupcollection
class UserGroupIndex extends FlexIndex \grav\common\flex\types\usergroups\usergroupindex
class UserCollection extends FlexCollection implements UserCollectionInterface \grav\common\flex\types\users\usercollection
class UserIndex extends FlexIndex implements UserCollectionInterface \grav\common\flex\types\users\userindex
class Validation \grav\common\data\validation
class BlueprintSchema extends BlueprintSchemaBase implements ExportInterface \grav\common\data\blueprintschema
class BlockAssets \grav\common\assets\blockassets
class Link extends BaseAsset \grav\common\assets\link
class InlineCss extends BaseAsset \grav\common\assets\inlinecss
class Js extends BaseAsset \grav\common\assets\js
class InlineJs extends BaseAsset \grav\common\assets\inlinejs
class JsModule extends BaseAsset \grav\common\assets\jsmodule
class PageStorage extends FolderStorage \grav\common\flex\types\pages\storage\pagestorage
class YamlLinter \grav\common\helpers\yamllinter
class Base32 \grav\common\helpers\base32
class Truncator \grav\common\helpers\truncator
class LogViewer \grav\common\helpers\logviewer
class Exif \grav\common\helpers\exif
class SessionStartEvent extends Event \grav\events\sessionstartevent
class UserFolderStorage extends FolderStorage \grav\common\flex\types\users\storage\userfolderstorage
class UserFileStorage extends FileStorage \grav\common\flex\types\users\storage\userfilestorage
class GenericObject extends FlexObject \grav\common\flex\types\generic\genericobject
class GenericCollection extends FlexCollection \grav\common\flex\types\generic\genericcollection
class GenericIndex extends FlexIndex \grav\common\flex\types\generic\genericindex
class PageCollection extends FlexPageCollection implements PageCollectionInterface \grav\common\flex\types\pages\pagecollection
class PageIndex extends FlexPageIndex implements PageCollectionInterface \grav\common\flex\types\pages\pageindex
class PageObject extends FlexPageObject \grav\common\flex\types\pages\pageobject
class FormFlash implements FormFlashInterface \grav\framework\form\formflash
class AbstractFileCollection extends AbstractLazyCollection implements FileCollectionInterface \grav\framework\collection\abstractfilecollection
class NotFoundException extends RequestException \grav\framework\requesthandler\exception\notfoundexception
class AbstractFile implements FileInterface \grav\framework\file\abstractfile
class DataFile extends AbstractFile \grav\framework\file\datafile
class PropertyObject implements NestedObjectInterface, ArrayAccess \grav\framework\object\propertyobject
class ObjectCollection extends ArrayCollection implements NestedObjectCollectionInterface \grav\framework\object\objectcollection
class Identifier implements IdentifierInterface \grav\framework\object\identifiers\identifier
class Application extends \Symfony\Component\Console\Application \grav\console\application\application
class AbstractPagination implements PaginationInterface \grav\framework\pagination\abstractpagination
class User extends Data implements UserInterface \grav\common\user\datauser\user
class Package \grav\common\gpm\common\package
class CachedCollection extends Iterator \grav\common\gpm\common\cachedcollection
class AbstractPackageCollection extends BaseCollection \grav\common\gpm\remote\abstractpackagecollection
class UserObject extends FlexObject implements UserInterface, Countable \grav\common\flex\types\users\userobject
class GravCommand extends Command \grav\console\gravcommand
class GpmCommand extends Command \grav\console\gpmcommand
class ConsoleCommand extends Command \grav\console\consolecommand
class FolderStorage extends AbstractFilesystemStorage \grav\framework\flex\storage\folderstorage
class FileStorage extends FolderStorage \grav\framework\flex\storage\filestorage
class FlexPageObject extends FlexObject implements PageInterface, FlexTranslateInterface \grav\framework\flex\pages\flexpageobject
class FlexPageCollection extends FlexCollection \grav\framework\flex\pages\flexpagecollection
class FlexPageIndex extends FlexIndex \grav\framework\flex\pages\flexpageindex
class Session implements SessionInterface \grav\framework\session\session
class Plugin implements EventSubscriberInterface, ArrayAccess \grav\common\plugin
class Iterator implements \ArrayAccess, \Iterator, \Countable, \Serializable \grav\common\iterator