_propDict = $propDict; } /** * Gets the property dictionary of the RoleManagement * * @return array The list of properties */ public function getProperties() { return $this->_propDict; } /** * Gets the directory * * @return RbacApplication|null The directory */ public function getDirectory() { if (array_key_exists("directory", $this->_propDict)) { if (is_a($this->_propDict["directory"], "\Beta\Microsoft\Graph\Model\RbacApplication") || is_null($this->_propDict["directory"])) { return $this->_propDict["directory"]; } else { $this->_propDict["directory"] = new RbacApplication($this->_propDict["directory"]); return $this->_propDict["directory"]; } } return null; } /** * Sets the directory * * @param RbacApplication $val The directory * * @return RoleManagement */ public function setDirectory($val) { $this->_propDict["directory"] = $val; return $this; } /** * Gets the cloudPC * * @return RbacApplicationMultiple|null The cloudPC */ public function getCloudPC() { if (array_key_exists("cloudPC", $this->_propDict)) { if (is_a($this->_propDict["cloudPC"], "\Beta\Microsoft\Graph\Model\RbacApplicationMultiple") || is_null($this->_propDict["cloudPC"])) { return $this->_propDict["cloudPC"]; } else { $this->_propDict["cloudPC"] = new RbacApplicationMultiple($this->_propDict["cloudPC"]); return $this->_propDict["cloudPC"]; } } return null; } /** * Sets the cloudPC * * @param RbacApplicationMultiple $val The cloudPC * * @return RoleManagement */ public function setCloudPC($val) { $this->_propDict["cloudPC"] = $val; return $this; } /** * Gets the enterpriseApps * * @return array|null The enterpriseApps */ public function getEnterpriseApps() { if (array_key_exists("enterpriseApps", $this->_propDict)) { return $this->_propDict["enterpriseApps"]; } else { return null; } } /** * Sets the enterpriseApps * * @param RbacApplication[] $val The enterpriseApps * * @return RoleManagement */ public function setEnterpriseApps($val) { $this->_propDict["enterpriseApps"] = $val; return $this; } /** * Gets the exchange * * @return UnifiedRbacApplication|null The exchange */ public function getExchange() { if (array_key_exists("exchange", $this->_propDict)) { if (is_a($this->_propDict["exchange"], "\Beta\Microsoft\Graph\Model\UnifiedRbacApplication") || is_null($this->_propDict["exchange"])) { return $this->_propDict["exchange"]; } else { $this->_propDict["exchange"] = new UnifiedRbacApplication($this->_propDict["exchange"]); return $this->_propDict["exchange"]; } } return null; } /** * Sets the exchange * * @param UnifiedRbacApplication $val The exchange * * @return RoleManagement */ public function setExchange($val) { $this->_propDict["exchange"] = $val; return $this; } /** * Gets the entitlementManagement * The RbacApplication for Entitlement Management * * @return RbacApplication|null The entitlementManagement */ public function getEntitlementManagement() { if (array_key_exists("entitlementManagement", $this->_propDict)) { if (is_a($this->_propDict["entitlementManagement"], "\Beta\Microsoft\Graph\Model\RbacApplication") || is_null($this->_propDict["entitlementManagement"])) { return $this->_propDict["entitlementManagement"]; } else { $this->_propDict["entitlementManagement"] = new RbacApplication($this->_propDict["entitlementManagement"]); return $this->_propDict["entitlementManagement"]; } } return null; } /** * Sets the entitlementManagement * The RbacApplication for Entitlement Management * * @param RbacApplication $val The entitlementManagement * * @return RoleManagement */ public function setEntitlementManagement($val) { $this->_propDict["entitlementManagement"] = $val; return $this; } /** * Gets the deviceManagement * The RbacApplication for Device Management * * @return RbacApplicationMultiple|null The deviceManagement */ public function getDeviceManagement() { if (array_key_exists("deviceManagement", $this->_propDict)) { if (is_a($this->_propDict["deviceManagement"], "\Beta\Microsoft\Graph\Model\RbacApplicationMultiple") || is_null($this->_propDict["deviceManagement"])) { return $this->_propDict["deviceManagement"]; } else { $this->_propDict["deviceManagement"] = new RbacApplicationMultiple($this->_propDict["deviceManagement"]); return $this->_propDict["deviceManagement"]; } } return null; } /** * Sets the deviceManagement * The RbacApplication for Device Management * * @param RbacApplicationMultiple $val The deviceManagement * * @return RoleManagement */ public function setDeviceManagement($val) { $this->_propDict["deviceManagement"] = $val; return $this; } /** * Gets the ODataType * * @return string|null The ODataType */ public function getODataType() { if (array_key_exists('@odata.type', $this->_propDict)) { return $this->_propDict["@odata.type"]; } return null; } /** * Sets the ODataType * * @param string $val The ODataType * * @return RoleManagement */ public function setODataType($val) { $this->_propDict["@odata.type"] = $val; return $this; } /** * Serializes the object by property array * Manually serialize DateTime into RFC3339 format * * @return array The list of properties */ #[\ReturnTypeWillChange] public function jsonSerialize() { $serializableProperties = $this->getProperties(); foreach ($serializableProperties as $property => $val) { if (is_a($val, "\DateTime")) { $serializableProperties[$property] = $val->format(\DateTime::RFC3339); } else if (is_a($val, "\Microsoft\Graph\Core\Enum")) { $serializableProperties[$property] = $val->value(); } else if (is_a($val, "\Entity")) { $serializableProperties[$property] = $val->jsonSerialize(); } else if (is_a($val, "\GuzzleHttp\Psr7\Stream")) { $serializableProperties[$property] = (string) $val; } } return $serializableProperties; } }