Core Platform Team/Initiative/Stability annotations/interfaces

Interfaces designed to be implemented directly by extensions

edit

includes/Rest/Validator/BodyValidator.php
includes/api/ApiSerializable.php
includes/config/Config.php
includes/config/MutableConfig.php
includes/dao/IDBAccessObject.php
includes/debug/logger/Spi.php
includes/deferred/DeferrableCallback.php
includes/deferred/DeferrableUpdate.php
includes/deferred/EnqueueableDataUpdate.php
includes/deferred/MergeableUpdate.php
includes/deferred/TransactionRoundAwareUpdate.php
includes/exception/ILocalizedException.php
includes/jobqueue/GenericParameterJob.php
includes/jobqueue/RunnableJob.php
includes/language/MessageLocalizer.php
includes/libs/rdbms/database/position/DBMasterPos.php
includes/libs/services/DestructibleService.php
includes/libs/services/SalvageableService.php
includes/libs/stats/IBufferingStatsdDataFactory.php
includes/libs/stats/StatsdAwareInterface.php
includes/pager/Pager.php
includes/preferences/PreferencesFactory.php
includes/search/PaginatingSearchEngine.php
includes/search/ResultAugmentor.php
includes/search/ResultSetAugmentor.php
includes/utils/RowUpdateGenerator.php

...plus all the hook interfaces!

Interfaces that should not be implemented directly

edit

includes/content/Content.php
includes/logging/LogEntry.php
includes/search/ISearchResultSet.php
includes/search/SearchIndexField.php

Problematic Interfaces that should not be implemented directly

edit

includes/context/IContextSource.php - BlueSpiceFoundation