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 PagesProcessor extends ProcessorBase \grav\common\processors\pagesprocessor
class SchedulerProcessor extends ProcessorBase \grav\common\processors\schedulerprocessor
class TwigProcessor extends ProcessorBase \grav\common\processors\twigprocessor
class ConfigurationProcessor extends ProcessorBase \grav\common\processors\configurationprocessor
class TasksProcessor extends ProcessorBase \grav\common\processors\tasksprocessor
class RequestProcessor extends ProcessorBase \grav\common\processors\requestprocessor
class Language \grav\common\language\language
class RequestHandlerEvent extends Event \grav\common\processors\events\requesthandlerevent
class InlineCss extends BaseAsset \grav\common\assets\inlinecss
class LanguageCodes \grav\common\language\languagecodes
class Js extends BaseAsset \grav\common\assets\js
class Css extends BaseAsset \grav\common\assets\css
class InlineJs extends BaseAsset \grav\common\assets\inlinejs
class Pipeline extends PropertyObject \grav\common\assets\pipeline
class Job \grav\common\scheduler\job
class Scheduler \grav\common\scheduler\scheduler
class CompiledLanguages extends CompiledBase \grav\common\config\compiledlanguages
class Languages extends Data \grav\common\config\languages
class ConfigFileFinder \grav\common\config\configfilefinder
class CompiledConfig extends CompiledBase \grav\common\config\compiledconfig
class Setup extends Data \grav\common\config\setup
class Config extends Data \grav\common\config\config
class InitializeProcessor extends ProcessorBase \grav\common\processors\initializeprocessor
class ErrorsProcessor extends ProcessorBase \grav\common\processors\errorsprocessor
class DebuggerAssetsProcessor extends ProcessorBase \grav\common\processors\debuggerassetsprocessor
class AssetsProcessor extends ProcessorBase \grav\common\processors\assetsprocessor
class RenderProcessor extends ProcessorBase \grav\common\processors\renderprocessor
class ThemesProcessor extends ProcessorBase \grav\common\processors\themesprocessor
class PluginsProcessor extends ProcessorBase \grav\common\processors\pluginsprocessor
class DebuggerProcessor extends ProcessorBase \grav\common\processors\debuggerprocessor
class BackupsProcessor extends ProcessorBase \grav\common\processors\backupsprocessor
class LoggerProcessor extends ProcessorBase \grav\common\processors\loggerprocessor
class Browser \grav\common\browser
class Plugins extends Iterator \grav\common\plugins
class Inflector \grav\common\inflector
class Install \grav\installer\install
class Assets extends PropertyObject \grav\common\assets
class Cache extends Getters \grav\common\cache
class Themes extends Iterator \grav\common\themes
class Debugger \grav\common\debugger
class Composer \grav\common\composer
class Taxonomy \grav\common\taxonomy
class Theme extends Plugin \grav\common\theme
class Session extends \Grav\Framework\Session\Session \grav\common\session
class CompiledBlueprints extends CompiledBase \grav\common\config\compiledblueprints
class Uri \grav\common\uri
class Security \grav\common\security
class Grav extends Container \grav\common\grav
class InfoCommand extends ConsoleCommand \grav\console\gpm\infocommand
class VersionCommand extends ConsoleCommand \grav\console\gpm\versioncommand
class DirectInstallCommand extends ConsoleCommand \grav\console\gpm\directinstallcommand
class IndexCommand extends ConsoleCommand \grav\console\gpm\indexcommand
class NewProjectCommand extends ConsoleCommand \grav\console\cli\newprojectcommand
class BackupCommand extends ConsoleCommand \grav\console\cli\backupcommand
class SelfupgradeCommand extends ConsoleCommand \grav\console\gpm\selfupgradecommand
class SchedulerCommand extends ConsoleCommand \grav\console\cli\schedulercommand
class InstallCommand extends ConsoleCommand \grav\console\cli\installcommand
class LogViewerCommand extends ConsoleCommand \grav\console\cli\logviewercommand
class CleanCommand extends Command \grav\console\cli\cleancommand
class SandboxCommand extends ConsoleCommand \grav\console\cli\sandboxcommand
class ComposerCommand extends ConsoleCommand \grav\console\cli\composercommand
class YamlLinterCommand extends ConsoleCommand \grav\console\cli\yamllintercommand
class ClearCacheCommand extends ConsoleCommand \grav\console\cli\clearcachecommand
class SecurityCommand extends ConsoleCommand \grav\console\cli\securitycommand
class AccountsServiceProvider implements ServiceProviderInterface \grav\common\service\accountsserviceprovider
class SchedulerServiceProvider implements ServiceProviderInterface \grav\common\service\schedulerserviceprovider
class TaskServiceProvider implements ServiceProviderInterface \grav\common\service\taskserviceprovider
class ErrorServiceProvider implements ServiceProviderInterface \grav\common\service\errorserviceprovider
  class TwigTokenParserStyle extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparserstyle
  class TwigTokenParserSwitch extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparserswitch
class AssetsServiceProvider implements ServiceProviderInterface \grav\common\service\assetsserviceprovider
  class TwigTokenParserScript extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparserscript
class InflectorServiceProvider implements ServiceProviderInterface \grav\common\service\inflectorserviceprovider
class FilesystemServiceProvider implements ServiceProviderInterface \grav\common\service\filesystemserviceprovider
class OutputServiceProvider implements ServiceProviderInterface \grav\common\service\outputserviceprovider
class LoggerServiceProvider implements ServiceProviderInterface \grav\common\service\loggerserviceprovider
class PagesServiceProvider implements ServiceProviderInterface \grav\common\service\pagesserviceprovider
class ConfigServiceProvider implements ServiceProviderInterface \grav\common\service\configserviceprovider
class StreamsServiceProvider implements ServiceProviderInterface \grav\common\service\streamsserviceprovider
class RequestServiceProvider implements ServiceProviderInterface \grav\common\service\requestserviceprovider
class TwigNodeMarkdown extends Node implements NodeOutputInterface \grav\common\twig\node\twignodemarkdown
class TwigNodeRender extends Node implements NodeCaptureInterface \grav\common\twig\node\twignoderender
class TwigNodeStyle extends Node implements NodeCaptureInterface \grav\common\twig\node\twignodestyle
class TwigNodeThrow extends Node \grav\common\twig\node\twignodethrow
class Twig \grav\common\twig\twig
class TwigEnvironment extends \Twig_Environment \grav\common\twig\twigenvironment
class TwigExtension extends \Twig_Extension implements \Twig_Extension_GlobalsInterface \grav\common\twig\twigextension
class TwigNodeTryCatch extends Node \grav\common\twig\node\twignodetrycatch
  class TwigTokenParserCache extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparsercache
  class TwigTokenParserTryCatch extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparsertrycatch
  class TwigTokenParserRender extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparserrender
  class TwigTokenParserMarkdown extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparsermarkdown
class TwigNodeSwitch extends Node \grav\common\twig\node\twignodeswitch
class TwigNodeScript extends Node implements NodeCaptureInterface \grav\common\twig\node\twignodescript
class TwigNodeCache extends Node \grav\common\twig\node\twignodecache
  class TwigTokenParserThrow extends AbstractTokenParser \grav\common\twig\tokenparser\twigtokenparserthrow
class Base32 \grav\common\helpers\base32
class YamlLinter \grav\common\helpers\yamllinter
class Excerpts \grav\common\page\markdown\excerpts
  class GlobalMedia extends AbstractMedia \grav\common\page\medium\globalmedia
class StaticImageMedium extends Medium \grav\common\page\medium\staticimagemedium
class Link implements RenderableInterface \grav\common\page\medium\link
class VideoMedium extends Medium \grav\common\page\medium\videomedium
class ThumbnailImageMedium extends ImageMedium \grav\common\page\medium\thumbnailimagemedium
class FormFlash extends FrameworkFormFlash \grav\common\form\formflash
class CompiledMarkdownFile extends MarkdownFile \grav\common\file\compiledmarkdownfile
class CompiledYamlFile extends YamlFile \grav\common\file\compiledyamlfile
class CompiledJsonFile extends JsonFile \grav\common\file\compiledjsonfile
class Exif \grav\common\helpers\exif
class LogViewer \grav\common\helpers\logviewer
class Truncator \grav\common\helpers\truncator
class ValidationException extends \RuntimeException \grav\common\data\validationexception
class Types implements \ArrayAccess, \Iterator, \Countable \grav\common\page\types
class Blueprints \grav\common\data\blueprints
class Validation \grav\common\data\validation
class BlueprintSchema extends BlueprintSchemaBase implements ExportInterface \grav\common\data\blueprintschema
class Blueprint extends BlueprintForm \grav\common\data\blueprint
class Cron \grav\common\scheduler\cron
class Backups \grav\common\backup\backups
class MediumFactory \grav\common\page\medium\mediumfactory
class ImageFile extends Image \grav\common\page\medium\imagefile
class Pages \grav\common\page\pages
class AudioMedium extends Medium \grav\common\page\medium\audiomedium
class Collection extends Iterator \grav\common\page\collection
  class Media extends AbstractMedia \grav\common\page\media
class Header implements \ArrayAccess \grav\common\page\header
class Page implements PageInterface \grav\common\page\page
  class SerializeFormatter extends AbstractFormatter \grav\framework\file\formatter\serializeformatter
class FormFlashFile implements UploadedFileInterface, \JsonSerializable \grav\framework\form\formflashfile
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 MemoryCache extends AbstractCache \grav\framework\cache\adapter\memorycache
  class FileCache extends AbstractCache \grav\framework\cache\adapter\filecache
  class DoctrineCache extends AbstractCache \grav\framework\cache\adapter\doctrinecache
class JsonFile extends DataFile \grav\framework\file\jsonfile
class YamlFile extends DataFile \grav\framework\file\yamlfile
class IniFile extends DataFile \grav\framework\file\inifile
  class CsvFormatter extends AbstractFormatter \grav\framework\file\formatter\csvformatter
  class YamlFormatter extends AbstractFormatter \grav\framework\file\formatter\yamlformatter
  class MarkdownFormatter extends AbstractFormatter \grav\framework\file\formatter\markdownformatter
  class IniFormatter extends AbstractFormatter \grav\framework\file\formatter\iniformatter
  class JsonFormatter extends AbstractFormatter \grav\framework\file\formatter\jsonformatter
class Exceptions implements MiddlewareInterface \grav\framework\requesthandler\middlewares\exceptions
class RequestHandler implements RequestHandlerInterface \grav\framework\requesthandler\requesthandler
class PageExpiredException extends RequestException \grav\framework\requesthandler\exception\pageexpiredexception
class NotHandledException extends NotFoundException \grav\framework\requesthandler\exception\nothandledexception
class MarkdownFile extends DataFile \grav\framework\file\markdownfile
class InvalidArgumentException extends \InvalidArgumentException \grav\framework\requesthandler\exception\invalidargumentexception
class CsvFile extends DataFile \grav\framework\file\csvfile
  class File extends AbstractFile \grav\framework\file\file
  class PaginationPage extends AbstractPaginationPage \grav\framework\pagination\paginationpage
class Packages extends CachedCollection \grav\common\gpm\local\packages
class UriPartsFilter \grav\framework\uri\uripartsfilter
  class Pagination extends AbstractPagination \grav\framework\pagination\pagination
  class Uri extends AbstractUri \grav\framework\uri\uri
class UriFactory \grav\framework\uri\urifactory
class SessionException extends \RuntimeException \grav\framework\session\exceptions\sessionexception
class HtmlBlock extends ContentBlock implements HtmlBlockInterface \grav\framework\contentblock\htmlblock
  class Themes extends AbstractPackageCollection \grav\common\gpm\remote\themes
class Package extends BasePackage implements \JsonSerializable \grav\common\gpm\remote\package
  class GravCore extends AbstractPackageCollection \grav\common\gpm\remote\gravcore
  class Plugins extends AbstractPackageCollection \grav\common\gpm\remote\plugins
  class ChainCache extends AbstractCache \grav\framework\cache\adapter\chaincache
  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 RouteFactory \grav\framework\route\routefactory
class Route \grav\framework\route\route
class Filesystem implements FilesystemInterface \grav\framework\filesystem\filesystem
class Stream implements StreamInterface \grav\framework\psr7\stream
class Request implements RequestInterface \grav\framework\psr7\request
class UpdateCommand extends ConsoleCommand \grav\console\gpm\updatecommand
class ServerRequest implements ServerRequestInterface \grav\framework\psr7\serverrequest
class Table extends \League\CLImate\TerminalObject\Basic\Table \grav\console\terminalobjects\table
class UploadedFile implements UploadedFileInterface \grav\framework\psr7\uploadedfile
class UninstallCommand extends ConsoleCommand \grav\console\gpm\uninstallcommand
class Response implements ResponseInterface \grav\framework\psr7\response
class Uri implements UriInterface \grav\framework\psr7\uri
  class FileCollection extends AbstractFileCollection \grav\framework\collection\filecollection
class FlexForm implements FlexFormInterface \grav\framework\flex\flexform
class FlexDirectory implements FlexAuthorizeInterface \grav\framework\flex\flexdirectory
  class SimpleStorage extends AbstractFilesystemStorage \grav\framework\flex\storage\simplestorage
class Flex implements \Countable \grav\framework\flex\flex
class BareHandler extends Handler \grav\common\errors\barehandler
class Errors \grav\common\errors\errors
class ParsedownExtra extends ParsedownExtraLib \grav\common\markdown\parsedownextra
class Parsedown extends ParsedownLib \grav\common\markdown\parsedown
class BackupsServiceProvider implements ServiceProviderInterface \grav\common\service\backupsserviceprovider
class SessionServiceProvider implements ServiceProviderInterface \grav\common\service\sessionserviceprovider
class SystemFacade extends \Whoops\Util\SystemFacade \grav\common\errors\systemfacade
class SimplePageHandler extends Handler \grav\common\errors\simplepagehandler
class User extends FlexUser\User \grav\common\user\user
class Group extends Data \grav\common\user\group
class UserIndex extends FlexIndex \grav\common\user\flexuser\userindex
class UserCollection extends FlexCollection implements UserCollectionInterface \grav\common\user\flexuser\usercollection
class RecursiveFolderFilterIterator extends \RecursiveFilterIterator \grav\common\filesystem\recursivefolderfilteriterator
class ZipArchiver extends Archiver \grav\common\filesystem\ziparchiver
class RecursiveDirectoryFilterIterator extends \RecursiveFilterIterator \grav\common\filesystem\recursivedirectoryfilteriterator
class Installer \grav\common\gpm\installer
class Response \grav\common\gpm\response
class Licenses \grav\common\gpm\licenses
class Upgrader \grav\common\gpm\upgrader
class UserFolderStorage extends FolderStorage \grav\common\user\flexuser\storage\userfolderstorage
class UserFileStorage extends FileStorage \grav\common\user\flexuser\storage\userfilestorage
class GPM extends Iterator \grav\common\gpm\gpm
class UserCollection implements UserCollectionInterface \grav\common\user\datauser\usercollection
class Package extends BasePackage \grav\common\gpm\local\package
class User extends Data implements UserInterface \grav\common\user\datauser\user
class User extends FlexObject implements UserInterface, MediaManipulationInterface, \Countable \grav\common\user\flexuser\user
class Iterator implements \ArrayAccess, \Iterator, \Countable, \Serializable \grav\common\iterator
class Plugin implements EventSubscriberInterface, \ArrayAccess \grav\common\plugin
class AbstractPagination implements PaginationInterface \grav\framework\pagination\abstractpagination
class AbstractPackageCollection extends BaseCollection \grav\common\gpm\remote\abstractpackagecollection
class Package \grav\common\gpm\common\package
class CachedCollection extends Iterator \grav\common\gpm\common\cachedcollection
class ConsoleCommand extends Command \grav\console\consolecommand
class FileStorage extends FolderStorage \grav\framework\flex\storage\filestorage
class FolderStorage extends AbstractFilesystemStorage \grav\framework\flex\storage\folderstorage
class PropertyObject implements NestedObjectInterface, \ArrayAccess \grav\framework\object\propertyobject
class AbstractFileCollection extends AbstractLazyCollection implements FileCollectionInterface \grav\framework\collection\abstractfilecollection
class NotFoundException extends RequestException \grav\framework\requesthandler\exception\notfoundexception
class RequestException extends \RuntimeException \grav\framework\requesthandler\exception\requestexception
class Session implements SessionInterface \grav\framework\session\session
class ParsedownExtra extends Parsedown \grav\framework\parsedown\parsedownextra
class FormFlash implements FormFlashInterface \grav\framework\form\formflash
class ObjectCollection extends ArrayCollection implements ObjectCollectionInterface, NestedObjectInterface \grav\framework\object\objectcollection
class DataFile extends AbstractFile \grav\framework\file\datafile
class AbstractFile implements FileInterface \grav\framework\file\abstractfile