act(__FUNCTION__, func_num_args(), $spec); } public function folders(array $spec = null) { if (isset($spec)) { $spec = $this->cleanIdArray($spec, true); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function folderShallow(int $spec = null) { return $this->act(__FUNCTION__, func_num_args(), $spec); } public function foldersShallow(array $spec = null) { if (isset($spec)) { $spec = $this->cleanIdArray($spec, true); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function tag(int $spec = null) { return $this->act(__FUNCTION__, func_num_args(), $spec); } public function tags(array $spec = null) { if (isset($spec)) { $spec = $this->cleanIdArray($spec); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function tagName(string $spec = null) { return $this->act(__FUNCTION__, func_num_args(), $spec); } public function tagNames(array $spec = null) { if (isset($spec)) { $spec = $this->cleanStringArray($spec); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function subscription(int $spec = null) { return $this->act(__FUNCTION__, func_num_args(), $spec); } public function subscriptions(array $spec = null) { if (isset($spec)) { $spec = $this->cleanIdArray($spec); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function edition(int $spec = null) { return $this->act(__FUNCTION__, func_num_args(), $spec); } public function article(int $spec = null) { return $this->act(__FUNCTION__, func_num_args(), $spec); } public function editions(array $spec = null) { if (isset($spec)) { $spec = $this->cleanIdArray($spec); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function articles(array $spec = null) { if (isset($spec)) { $spec = $this->cleanIdArray($spec); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function label(int $spec = null) { return $this->act(__FUNCTION__, func_num_args(), $spec); } public function labels(array $spec = null) { if (isset($spec)) { $spec = $this->cleanIdArray($spec); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function labelName(string $spec = null) { return $this->act(__FUNCTION__, func_num_args(), $spec); } public function labelNames(array $spec = null) { if (isset($spec)) { $spec = $this->cleanStringArray($spec); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function annotationTerms(array $spec = null) { if (isset($spec)) { $spec = $this->cleanStringArray($spec); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function searchTerms(array $spec = null) { if (isset($spec)) { $spec = $this->cleanStringArray($spec); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function titleTerms(array $spec = null) { if (isset($spec)) { $spec = $this->cleanStringArray($spec); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function authorTerms(array $spec = null) { if (isset($spec)) { $spec = $this->cleanStringArray($spec); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function articleRange(?int $start = null, ?int $end = null) { if ($start === null && $end === null) { $spec = null; } else { $spec = [$start, $end]; } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function editionRange(?int $start = null, ?int $end = null) { if ($start === null && $end === null) { $spec = null; } else { $spec = [$start, $end]; } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function modifiedRange($start = null, $end = null) { if ($start === null && $end === null) { $spec = null; } else { $spec = [Date::normalize($start), Date::normalize($end)]; } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function modifiedRanges(array $spec = null) { if (isset($spec)) { $spec = $this->cleanDateRangeArray($spec); } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function markedRange($start = null, $end = null) { if ($start === null && $end === null) { $spec = null; } else { $spec = [Date::normalize($start), Date::normalize($end)]; } return $this->act(__FUNCTION__, func_num_args(), $spec); } public function markedRanges(array $spec = null) { if (isset($spec)) { $spec = $this->cleanDateRangeArray($spec); } return $this->act(__FUNCTION__, func_num_args(), $spec); } }