setGroupsToDisplay($groups_to_display); } } /** * Set groups list to display on a GroupsToDisplay object * * @param int[] $groups_to_display The unsubscribe group(s) * that you would like to be * displayed on the unsubscribe * preferences page * * @throws \SendGrid\Mail\TypeException */ public function setGroupsToDisplay($groups_to_display) { Assert::maxItems($groups_to_display, 'groups_to_display', 25); $this->groups_to_display = $groups_to_display; } /** * Add group to display on a GroupsToDisplay object * * @param int $group_to_display The unsubscribe group * that you would like to be * displayed on the unsubscribe * preferences page * * @throws TypeException */ public function addGroupToDisplay($group_to_display) { Assert::integer($group_to_display, 'group_to_display'); Assert::accept($group_to_display, 'group_to_display', function () { $groups = $this->groups_to_display; if (!\is_array($groups)) { $groups = []; } return \count($groups) < 25; }, 'Number of elements in "$groups_to_display" can not be more than 25.'); $this->groups_to_display[] = $group_to_display; } /** * Return the group(s) to display on a GroupsToDisplay object * * @return int[] */ public function getGroupsToDisplay() { return $this->groups_to_display; } /** * Return an array representing a GroupsToDisplay object for the Twilio SendGrid API * * @return null|array */ public function jsonSerialize() { return $this->getGroupsToDisplay(); } }