keywords = $keywords; $this->keywordValidators = $keywordValidators; $this->pragmas = $pragmas; } /** * @return KeywordParser[] */ public function keywords(): array { return $this->keywords; } /** * @return KeywordValidatorParser[] */ public function keywordValidators(): array { return $this->keywordValidators; } /** * @return PragmaParser[] */ public function pragmas(): array { return $this->pragmas; } /** * @param KeywordParser $keyword * @return Vocabulary */ public function appendKeyword(KeywordParser $keyword): self { $this->keywords[] = $keyword; return $this; } /** * @param KeywordParser $keyword * @return Vocabulary */ public function prependKeyword(KeywordParser $keyword): self { array_unshift($this->keywords, $keyword); return $this; } /** * @param KeywordValidatorParser $keywordValidatorParser * @return Vocabulary */ public function appendKeywordValidator(KeywordValidatorParser $keywordValidatorParser): self { $this->keywordValidators[] = $keywordValidatorParser; return $this; } /** * @param KeywordValidatorParser $keywordValidator * @return Vocabulary */ public function prependKeywordValidator(KeywordValidatorParser $keywordValidator): self { array_unshift($this->keywordValidators, $keywordValidator); return $this; } /** * @param PragmaParser $pragma * @return Vocabulary */ public function appendPragma(PragmaParser $pragma): self { $this->pragmas[] = $pragma; return $this; } /** * @param PragmaParser $pragma * @return Vocabulary */ public function prependPragma(PragmaParser $pragma): self { array_unshift($this->pragmas, $pragma); return $this; } }