PluginProbe
User Access Manager / 2.2.8
User Access Manager v2.2.8
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 2.2.8, at src/ObjectMembership/ObjectMembershipHandlerFactory.php

140 lines 3.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * MembershipHandlerFactory.php
4 *
5 * The MembershipHandlerFactory class file.
6 *
7 * PHP versions 5
8 *
9 * @author Alexander Schneider <alexanderschneider85@gmail.com>
10 * @copyright 2008-2017 Alexander Schneider
11 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2
12 * @version SVN: $id$
13 * @link http://wordpress.org/extend/plugins/user-access-manager/
14 */
15
16 declare(strict_types=1);
17
18 namespace UserAccessManager\ObjectMembership;
19
20 use Exception;
21 use UserAccessManager\Database\Database;
22 use UserAccessManager\Object\ObjectHandler;
23 use UserAccessManager\Object\ObjectMapHandler;
24 use UserAccessManager\UserGroup\AssignmentInformationFactory;
25 use UserAccessManager\Wrapper\Php;
26 use UserAccessManager\Wrapper\Wordpress;
27
28 /**
29 * Class MembershipHandlerFactory
30 *
31 * @package UserAccessManager\UserGroup
32 */
33 class ObjectMembershipHandlerFactory
34 {
35 /**
36 * @var Php
37 */
38 private $php;
39
40 /**
41 * @var Wordpress
42 */
43 private $wordpress;
44
45 /**
46 * @var Database
47 */
48 private $database;
49
50 /**
51 * @var ObjectMapHandler
52 */
53 private $objectMapHandler;
54
55 /**
56 * @var AssignmentInformationFactory
57 */
58 private $assignmentInformationFactory;
59
60 /**
61 * MembershipHandlerFactory constructor.
62 * @param Php $php
63 * @param Wordpress $wordpress
64 * @param Database $database
65 * @param ObjectMapHandler $objectMapHandler
66 * @param AssignmentInformationFactory $assignmentInformationFactory
67 */
68 public function __construct(
69 Php $php,
70 Wordpress $wordpress,
71 Database $database,
72 ObjectMapHandler $objectMapHandler,
73 AssignmentInformationFactory $assignmentInformationFactory
74 ) {
75 $this->php = $php;
76 $this->wordpress = $wordpress;
77 $this->database = $database;
78 $this->objectMapHandler = $objectMapHandler;
79 $this->assignmentInformationFactory = $assignmentInformationFactory;
80 }
81
82 /**
83 * Creates a PostMembershipHandler object.
84 * @param ObjectHandler $objectHandler
85 * @return PostMembershipHandler
86 * @throws Exception
87 */
88 public function createPostMembershipHandler(ObjectHandler $objectHandler): PostMembershipHandler
89 {
90 return new PostMembershipHandler(
91 $this->assignmentInformationFactory,
92 $this->wordpress,
93 $objectHandler,
94 $this->objectMapHandler
95 );
96 }
97
98 /**
99 * Creates a RoleMembershipHandler object.
100 * @return RoleMembershipHandler
101 * @throws Exception
102 */
103 public function createRoleMembershipHandler(): RoleMembershipHandler
104 {
105 return new RoleMembershipHandler($this->assignmentInformationFactory, $this->wordpress);
106 }
107
108 /**
109 * Creates a TermMembershipHandler object.
110 * @param ObjectHandler $objectHandler
111 * @return TermMembershipHandler
112 * @throws Exception
113 */
114 public function createTermMembershipHandler(ObjectHandler $objectHandler): TermMembershipHandler
115 {
116 return new TermMembershipHandler(
117 $this->assignmentInformationFactory,
118 $this->wordpress,
119 $objectHandler,
120 $this->objectMapHandler
121 );
122 }
123
124 /**
125 * Creates an UserMembershipHandler object.
126 * @param ObjectHandler $objectHandler
127 * @return UserMembershipHandler
128 * @throws Exception
129 */
130 public function createUserMembershipHandler(ObjectHandler $objectHandler): UserMembershipHandler
131 {
132 return new UserMembershipHandler(
133 $this->assignmentInformationFactory,
134 $this->php,
135 $this->database,
136 $objectHandler
137 );
138 }
139 }
140