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