EditableRowsFactoryAggregate.php
569 Bytes
<?php
namespace ACP\Editing\Ajax;
use AC;
final class EditableRowsFactoryAggregate implements EditableRowsFactoryInterface {
/**
* @var EditableRowsFactoryInterface[]
*/
private static $factories;
public static function add_factory( EditableRowsFactoryInterface $factory ) {
self::$factories[] = $factory;
}
public static function create( AC\Request $request, AC\ListScreen $list_screen ) {
foreach ( self::$factories as $factory ) {
$rows = $factory::create( $request, $list_screen );
if ( $rows ) {
break;
}
}
return $rows;
}
}