PluginProbe
User Access Manager / trunk
User Access Manager vtrunk
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
user-access-manager / src / ObjectMembership / ObjectMembershipHandlerFactory.php

ObjectMembershipHandlerFactory.php in User Access Manager trunk, at src/ObjectMembership/ObjectMembershipHandlerFactory.php

77 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace UserAccessManager\ObjectMembership;
6
7 use Exception;
8 use UserAccessManager\Database\Database;
9 use UserAccessManager\ObjectMembership\Type\PostMembershipHandler;
10 use UserAccessManager\ObjectMembership\Type\RoleMembershipHandler;
11 use UserAccessManager\ObjectMembership\Type\TermMembershipHandler;
12 use UserAccessManager\ObjectMembership\Type\UserMembershipHandler;
13 use UserAccessManager\Object\ObjectHandler;
14 use UserAccessManager\Object\ObjectMapHandler;
15 use UserAccessManager\UserGroup\AssignmentInformationFactory;
16 use UserAccessManager\Wrapper\Php;
17 use UserAccessManager\Wrapper\Wordpress;
18
19 class ObjectMembershipHandlerFactory
20 {
21 public function __construct(
22 private Php $php,
23 private Wordpress $wordpress,
24 private Database $database,
25 private ObjectMapHandler $objectMapHandler,
26 private AssignmentInformationFactory $assignmentInformationFactory
27 ) {
28 }
29
30 /**
31 * @throws Exception
32 */
33 public function createPostMembershipHandler(ObjectHandler $objectHandler): PostMembershipHandler
34 {
35 return new PostMembershipHandler(
36 $this->assignmentInformationFactory,
37 $this->wordpress,
38 $objectHandler,
39 $this->objectMapHandler
40 );
41 }
42
43 /**
44 * @throws Exception
45 */
46 public function createRoleMembershipHandler(): RoleMembershipHandler
47 {
48 return new RoleMembershipHandler($this->assignmentInformationFactory, $this->wordpress);
49 }
50
51 /**
52 * @throws Exception
53 */
54 public function createTermMembershipHandler(ObjectHandler $objectHandler): TermMembershipHandler
55 {
56 return new TermMembershipHandler(
57 $this->assignmentInformationFactory,
58 $this->wordpress,
59 $objectHandler,
60 $this->objectMapHandler
61 );
62 }
63
64 /**
65 * @throws Exception
66 */
67 public function createUserMembershipHandler(ObjectHandler $objectHandler): UserMembershipHandler
68 {
69 return new UserMembershipHandler(
70 $this->assignmentInformationFactory,
71 $this->php,
72 $this->database,
73 $objectHandler
74 );
75 }
76 }
77