_propDict)) { if (is_a($this->_propDict["categoryDescriptions"], "\Beta\Microsoft\Graph\Model\PlannerCategoryDescriptions") || is_null($this->_propDict["categoryDescriptions"])) { return $this->_propDict["categoryDescriptions"]; } else { $this->_propDict["categoryDescriptions"] = new PlannerCategoryDescriptions($this->_propDict["categoryDescriptions"]); return $this->_propDict["categoryDescriptions"]; } } return null; } /** * Sets the categoryDescriptions * An object that specifies the descriptions of the 25 categories that can be associated with tasks in the plan. * * @param PlannerCategoryDescriptions $val The categoryDescriptions * * @return PlannerPlanDetails */ public function setCategoryDescriptions($val) { $this->_propDict["categoryDescriptions"] = $val; return $this; } /** * Gets the contextDetails * A collection of additional information associated with plannerPlanContext entries that are defined for the plannerPlan container. Read-only. * * @return PlannerPlanContextDetailsCollection|null The contextDetails */ public function getContextDetails() { if (array_key_exists("contextDetails", $this->_propDict)) { if (is_a($this->_propDict["contextDetails"], "\Beta\Microsoft\Graph\Model\PlannerPlanContextDetailsCollection") || is_null($this->_propDict["contextDetails"])) { return $this->_propDict["contextDetails"]; } else { $this->_propDict["contextDetails"] = new PlannerPlanContextDetailsCollection($this->_propDict["contextDetails"]); return $this->_propDict["contextDetails"]; } } return null; } /** * Sets the contextDetails * A collection of additional information associated with plannerPlanContext entries that are defined for the plannerPlan container. Read-only. * * @param PlannerPlanContextDetailsCollection $val The contextDetails * * @return PlannerPlanDetails */ public function setContextDetails($val) { $this->_propDict["contextDetails"] = $val; return $this; } /** * Gets the sharedWith * The set of user IDs that this plan is shared with. If you're using Microsoft 365 groups, use the groups API to manage group membership to share the group's plan. You can also add existing members of the group to this collection, although it isn't required in order for them to access the plan owned by the group. * * @return PlannerUserIds|null The sharedWith */ public function getSharedWith() { if (array_key_exists("sharedWith", $this->_propDict)) { if (is_a($this->_propDict["sharedWith"], "\Beta\Microsoft\Graph\Model\PlannerUserIds") || is_null($this->_propDict["sharedWith"])) { return $this->_propDict["sharedWith"]; } else { $this->_propDict["sharedWith"] = new PlannerUserIds($this->_propDict["sharedWith"]); return $this->_propDict["sharedWith"]; } } return null; } /** * Sets the sharedWith * The set of user IDs that this plan is shared with. If you're using Microsoft 365 groups, use the groups API to manage group membership to share the group's plan. You can also add existing members of the group to this collection, although it isn't required in order for them to access the plan owned by the group. * * @param PlannerUserIds $val The sharedWith * * @return PlannerPlanDetails */ public function setSharedWith($val) { $this->_propDict["sharedWith"] = $val; return $this; } }