QueryFactory.php
816 Bytes
<?php
namespace ACA\ACF\FieldGroup;
use AC\ListScreen;
use ACA\ACF\FieldGroup;
use ACP;
final class QueryFactory {
/**
* @param ListScreen $list_screen
*
* @return Query|null
*/
public function create( ListScreen $list_screen ) {
switch ( true ) {
case $list_screen instanceof ACP\ListScreen\Media:
return new FieldGroup\Location\Media();
case $list_screen instanceof ACP\ListScreen\Post:
return new FieldGroup\Location\Post( $list_screen->get_post_type() );
case $list_screen instanceof ACP\ListScreen\User:
return new FieldGroup\Location\User();
case $list_screen instanceof ACP\ListScreen\Taxonomy:
return new FieldGroup\Location\Taxonomy();
case $list_screen instanceof ACP\ListScreen\Comment:
return new FieldGroup\Location\Comment();
}
return null;
}
}