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 ExecCommand extends BaseCommand \composer\command\execcommand
class AboutCommand extends BaseCommand \composer\command\aboutcommand
class GlobalCommand extends BaseCommand \composer\command\globalcommand
class DiagnoseCommand extends BaseCommand \composer\command\diagnosecommand
class InstallerEvents \composer\installer\installerevents
class PluginInstaller extends LibraryInstaller \composer\installer\plugininstaller
class BinaryInstaller \composer\installer\binaryinstaller
class PackageEvents \composer\installer\packageevents
class ProhibitsCommand extends BaseDependencyCommand \composer\command\prohibitscommand
class DependsCommand extends BaseDependencyCommand \composer\command\dependscommand
class StatusCommand extends BaseCommand \composer\command\statuscommand
class UpdateCommand extends BaseCommand \composer\command\updatecommand
class ClearCacheCommand extends BaseCommand \composer\command\clearcachecommand
class RequireCommand extends BaseCommand \composer\command\requirecommand
class SelfUpdateCommand extends BaseCommand \composer\command\selfupdatecommand
class CheckPlatformReqsCommand extends BaseCommand \composer\command\checkplatformreqscommand
class ShowCommand extends BaseCommand \composer\command\showcommand
class InstallCommand extends BaseCommand \composer\command\installcommand
class ReinstallCommand extends BaseCommand \composer\command\reinstallcommand
class RemoveCommand extends BaseCommand \composer\command\removecommand
class ConfigCommand extends BaseCommand \composer\command\configcommand
class LicensesCommand extends BaseCommand \composer\command\licensescommand
class InitCommand extends BaseCommand \composer\command\initcommand
class RunScriptCommand extends BaseCommand \composer\command\runscriptcommand
class FundCommand extends BaseCommand \composer\command\fundcommand
class ScriptAliasCommand extends BaseCommand \composer\command\scriptaliascommand
class AuditCommand extends BaseCommand \composer\command\auditcommand
class ValidateCommand extends BaseCommand \composer\command\validatecommand
class DumpAutoloadCommand extends BaseCommand \composer\command\dumpautoloadcommand
class HomeCommand extends BaseCommand \composer\command\homecommand
class CreateProjectCommand extends BaseCommand \composer\command\createprojectcommand
class OutdatedCommand extends BaseCommand \composer\command\outdatedcommand
class MarkAliasUninstalledOperation extends SolverOperation implements OperationInterface \composer\dependencyresolver\operation\markaliasuninstalledoperation
class UninstallOperation extends SolverOperation implements OperationInterface \composer\dependencyresolver\operation\uninstalloperation
class ClassLoader \composer\autoload\classloader
class AutoloadGenerator \composer\autoload\autoloadgenerator
class SuggestsCommand extends BaseCommand \composer\command\suggestscommand
class ClassMapGenerator \composer\autoload\classmapgenerator
class ArchiveCommand extends BaseCommand \composer\command\archivecommand
class SearchCommand extends BaseCommand \composer\command\searchcommand
class PoolBuilder \composer\dependencyresolver\poolbuilder
class Decisions implements \Iterator, \Countable \composer\dependencyresolver\decisions
class RuleSetIterator implements \Iterator \composer\dependencyresolver\rulesetiterator
class Problem \composer\dependencyresolver\problem
class InstallOperation extends SolverOperation implements OperationInterface \composer\dependencyresolver\operation\installoperation
class RuleWatchChain extends \SplDoublyLinkedList \composer\dependencyresolver\rulewatchchain
class UpdateOperation extends SolverOperation implements OperationInterface \composer\dependencyresolver\operation\updateoperation
class MarkAliasInstalledOperation extends SolverOperation implements OperationInterface \composer\dependencyresolver\operation\markaliasinstalledoperation
class DefaultPolicy implements PolicyInterface \composer\dependencyresolver\defaultpolicy
class RuleWatchNode \composer\dependencyresolver\rulewatchnode
class RuleSet implements \IteratorAggregate, \Countable \composer\dependencyresolver\ruleset
class Pool implements \Countable \composer\dependencyresolver\pool
class Cache \composer\cache
class MultiConflictRule extends Rule \composer\dependencyresolver\multiconflictrule
class Factory \composer\factory
class Request \composer\dependencyresolver\request
class PoolOptimizer \composer\dependencyresolver\pooloptimizer
class RuleSetGenerator \composer\dependencyresolver\rulesetgenerator
class LocalRepoTransaction extends Transaction \composer\dependencyresolver\localrepotransaction
class RuleWatchGraph \composer\dependencyresolver\rulewatchgraph
class GenericRule extends Rule \composer\dependencyresolver\genericrule
class LockTransaction extends Transaction \composer\dependencyresolver\locktransaction
class Solver \composer\dependencyresolver\solver
class Rule2Literals extends Rule \composer\dependencyresolver\rule2literals
class SolverProblemsException extends \RuntimeException \composer\dependencyresolver\solverproblemsexception
class SolverBugException extends \RuntimeException \composer\dependencyresolver\solverbugexception
class InputOption extends BaseInputOption \composer\console\input\inputoption
class HtmlOutputFormatter extends OutputFormatter \composer\console\htmloutputformatter
class InputArgument extends BaseInputArgument \composer\console\input\inputargument
class ArrayDumper \composer\package\dumper\arraydumper
class Application extends BaseApplication \composer\console\application
class RootPackageLoader extends ArrayLoader \composer\package\loader\rootpackageloader
class InvalidPackageException extends \Exception \composer\package\loader\invalidpackageexception
class Comparer \composer\package\comparer\comparer
class JsonLoader \composer\package\loader\jsonloader
class VersionSelector \composer\package\version\versionselector
class VersionGuesser \composer\package\version\versionguesser
class ValidatingArrayLoader implements LoaderInterface \composer\package\loader\validatingarrayloader
class VersionParser extends SemverVersionParser \composer\package\version\versionparser
class ZipArchiver implements ArchiverInterface \composer\package\archiver\ziparchiver
class ComposerExcludeFilter extends BaseExcludeFilter \composer\package\archiver\composerexcludefilter
class StabilityFilter \composer\package\version\stabilityfilter
class VersionBumper \composer\package\version\versionbumper
class PharArchiver implements ArchiverInterface \composer\package\archiver\phararchiver
class ArchivableFilesFinder extends FilterIterator \composer\package\archiver\archivablefilesfinder
class GitExcludeFilter extends BaseExcludeFilter \composer\package\archiver\gitexcludefilter
class ArchivableFilesFilter extends FilterIterator \composer\package\archiver\archivablefilesfilter
class Locker \composer\package\locker
class RootAliasPackage extends CompleteAliasPackage implements RootPackageInterface \composer\package\rootaliaspackage
class RootPackage extends CompletePackage implements RootPackageInterface \composer\package\rootpackage
class ArchiveManager \composer\package\archiver\archivemanager
class IgnoredSecurityAdvisory extends SecurityAdvisory \composer\advisory\ignoredsecurityadvisory
class IrrecoverableDownloadException extends \RuntimeException \composer\exception\irrecoverabledownloadexception
class NoSslException extends \RuntimeException \composer\exception\nosslexception
class Link \composer\package\link
class SuggestedPackagesReporter \composer\installer\suggestedpackagesreporter
class InstallationManager \composer\installer\installationmanager
class NoopInstaller implements InstallerInterface \composer\installer\noopinstaller
class Auditor \composer\advisory\auditor
class PackageEvent extends Event \composer\installer\packageevent
class InstallerEvent extends Event \composer\installer\installerevent
class MetapackageInstaller implements InstallerInterface \composer\installer\metapackageinstaller
class ProjectInstaller implements InstallerInterface \composer\installer\projectinstaller
class HgDriver extends VcsDriver \composer\repository\vcs\hgdriver
class PerforceDriver extends VcsDriver \composer\repository\vcs\perforcedriver
class GitHubDriver extends VcsDriver \composer\repository\vcs\githubdriver
class SvnDriver extends VcsDriver \composer\repository\vcs\svndriver
class GitLabDriver extends VcsDriver \composer\repository\vcs\gitlabdriver
class FossilDriver extends VcsDriver \composer\repository\vcs\fossildriver
class GitBitbucketDriver extends VcsDriver \composer\repository\vcs\gitbitbucketdriver
class GitDriver extends VcsDriver \composer\repository\vcs\gitdriver
class Git \composer\util\git
class Svn \composer\util\svn
class PackageSorter \composer\util\packagesorter
class ConfigValidator \composer\util\configvalidator
class PackageInfo \composer\util\packageinfo
class AuthHelper \composer\util\authhelper
class NoProxyPattern \composer\util\noproxypattern
class ComposerMirror \composer\util\composermirror
class RepositorySecurityException extends \Exception \composer\repository\repositorysecurityexception
class RepositoryUtils \composer\repository\repositoryutils
class RepositoryFactory \composer\repository\repositoryfactory
class PlatformRepository extends ArrayRepository \composer\repository\platformrepository
class RepositorySet \composer\repository\repositoryset
class PearRepository extends ArrayRepository \composer\repository\pearrepository
class ComposerRepository extends ArrayRepository implements ConfigurableRepositoryInterface, AdvisoryProviderInterface \composer\repository\composerrepository
class VcsRepository extends ArrayRepository implements ConfigurableRepositoryInterface \composer\repository\vcsrepository
class PathRepository extends ArrayRepository implements ConfigurableRepositoryInterface \composer\repository\pathrepository
class RepositoryManager \composer\repository\repositorymanager
class RootPackageRepository extends ArrayRepository \composer\repository\rootpackagerepository
class ArtifactRepository extends ArrayRepository implements ConfigurableRepositoryInterface \composer\repository\artifactrepository
class InvalidRepositoryException extends \Exception \composer\repository\invalidrepositoryexception
class InstalledArrayRepository extends WritableArrayRepository implements InstalledRepositoryInterface \composer\repository\installedarrayrepository
class InstalledRepository extends CompositeRepository \composer\repository\installedrepository
class FilterRepository implements RepositoryInterface, AdvisoryProviderInterface \composer\repository\filterrepository
class Config \composer\config
class Composer extends PartialComposer \composer\composer
class InstalledVersions \composer\installedversions
class Installer \composer\installer
class Compiler \composer\compiler
class InstalledFilesystemRepository extends FilesystemRepository implements InstalledRepositoryInterface \composer\repository\installedfilesystemrepository
class PackageRepository extends ArrayRepository \composer\repository\packagerepository
class LockArrayRepository extends ArrayRepository \composer\repository\lockarrayrepository
class GitDownloader extends VcsDownloader implements DvcsDownloaderInterface \composer\downloader\gitdownloader
class ZipDownloader extends ArchiveDownloader \composer\downloader\zipdownloader
class PathDownloader extends FileDownloader implements VcsCapableDownloaderInterface \composer\downloader\pathdownloader
class PerforceDownloader extends VcsDownloader \composer\downloader\perforcedownloader
class SvnDownloader extends VcsDownloader \composer\downloader\svndownloader
class PharDownloader extends ArchiveDownloader \composer\downloader\phardownloader
class XzDownloader extends ArchiveDownloader \composer\downloader\xzdownloader
class HgDownloader extends VcsDownloader \composer\downloader\hgdownloader
class JsonFile \composer\json\jsonfile
class JsonManipulator \composer\json\jsonmanipulator
class JsonValidationException extends Exception \composer\json\jsonvalidationexception
class JsonFormatter \composer\json\jsonformatter
class ScriptEvents \composer\script\scriptevents
class StrictConfirmationQuestion extends Question \composer\question\strictconfirmationquestion
class Url \composer\util\url
class Perforce \composer\util\perforce
class IniHelper \composer\util\inihelper
class Platform \composer\util\platform
class Hg \composer\util\hg
class RemoteFilesystem \composer\util\remotefilesystem
class MetadataMinifier extends \Composer\MetadataMinifier\MetadataMinifier \composer\util\metadataminifier
class ProcessExecutor \composer\util\processexecutor
class Filesystem \composer\util\filesystem
class Tar \composer\util\tar
class Zip \composer\util\zip
class Silencer \composer\util\silencer
class Bitbucket \composer\util\bitbucket
class HttpDownloader \composer\util\httpdownloader
class GitHub \composer\util\github
class GitLab \composer\util\gitlab
class ScriptExecutionException extends \RuntimeException \composer\eventdispatcher\scriptexecutionexception
class Keys \composer\selfupdate\keys
class Versions \composer\selfupdate\versions
class JsonConfigSource implements ConfigSourceInterface \composer\config\jsonconfigsource
class Version \composer\platform\version
class HhvmDetector \composer\platform\hhvmdetector
class Runtime \composer\platform\runtime
class EventDispatcher \composer\eventdispatcher\eventdispatcher
class ProxyManager \composer\util\http\proxymanager
class Loop \composer\util\loop
class SyncHelper \composer\util\synchelper
class ErrorHandler \composer\util\errorhandler
class ProxyItem \composer\util\http\proxyitem
class CurlResponse extends Response \composer\util\http\curlresponse
class CurlDownloader \composer\util\http\curldownloader
class RequestProxy \composer\util\http\requestproxy
class PostFileDownloadEvent extends Event \composer\plugin\postfiledownloadevent
class PrePoolCreateEvent extends Event \composer\plugin\prepoolcreateevent
class RarDownloader extends ArchiveDownloader \composer\downloader\rardownloader
class FilesystemException extends \Exception \composer\downloader\filesystemexception
class DownloadManager \composer\downloader\downloadmanager
class TarDownloader extends ArchiveDownloader \composer\downloader\tardownloader
class FossilDownloader extends VcsDownloader \composer\downloader\fossildownloader
class MaxFileSizeExceededException extends TransportException \composer\downloader\maxfilesizeexceededexception
class BufferIO extends ConsoleIO \composer\io\bufferio
class NullIO extends BaseIO \composer\io\nullio
class PluginEvents \composer\plugin\pluginevents
class PreCommandRunEvent extends Event \composer\plugin\precommandrunevent
class PluginBlockedException extends UnexpectedValueException \composer\plugin\pluginblockedexception
class CommandEvent extends Event \composer\plugin\commandevent
class PluginManager \composer\plugin\pluginmanager
class PreFileDownloadEvent extends Event \composer\plugin\prefiledownloadevent
class Event extends BaseEvent \composer\script\event
class GzipDownloader extends ArchiveDownloader \composer\downloader\gzipdownloader
class WritableArrayRepository extends ArrayRepository implements WritableRepositoryInterface \composer\repository\writablearrayrepository