Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. TokenCollection.php

class TokenCollection

Hierarchy

  • class \TheSeer\Tokenizer\TokenCollection implements \TheSeer\Tokenizer\ArrayAccess, \TheSeer\Tokenizer\Iterator, \TheSeer\Tokenizer\Countable

Expanded class hierarchy of TokenCollection

File

vendor/theseer/tokenizer/src/TokenCollection.php, line 4

Namespace

TheSeer\Tokenizer
View source
class TokenCollection implements \ArrayAccess, \Iterator, \Countable {
    
    /** @var Token[] */
    private $tokens = [];
    
    /** @var int */
    private $pos;
    public function addToken(Token $token) : void {
        $this->tokens[] = $token;
    }
    public function current() : Token {
        return \current($this->tokens);
    }
    public function key() : int {
        return \key($this->tokens);
    }
    public function next() : void {
        \next($this->tokens);
        $this->pos++;
    }
    public function valid() : bool {
        return $this->count() > $this->pos;
    }
    public function rewind() : void {
        \reset($this->tokens);
        $this->pos = 0;
    }
    public function count() : int {
        return \count($this->tokens);
    }
    public function offsetExists($offset) : bool {
        return isset($this->tokens[$offset]);
    }
    
    /**
     * @throws TokenCollectionException
     */
    public function offsetGet($offset) : Token {
        if (!$this->offsetExists($offset)) {
            throw new TokenCollectionException(\sprintf('No Token at offest %s', $offset));
        }
        return $this->tokens[$offset];
    }
    
    /**
     * @param Token $value
     *
     * @throws TokenCollectionException
     */
    public function offsetSet($offset, $value) : void {
        if (!\is_int($offset)) {
            $type = \gettype($offset);
            throw new TokenCollectionException(\sprintf('Offset must be of type integer, %s given', $type === 'object' ? \get_class($value) : $type));
        }
        if (!$value instanceof Token) {
            $type = \gettype($value);
            throw new TokenCollectionException(\sprintf('Value must be of type %s, %s given', Token::class, $type === 'object' ? \get_class($value) : $type));
        }
        $this->tokens[$offset] = $value;
    }
    public function offsetUnset($offset) : void {
        unset($this->tokens[$offset]);
    }

}

Members

Title Sort descending Modifiers Object type Summary
TokenCollection::$pos private property @var int
TokenCollection::$tokens private property @var Token[]
TokenCollection::addToken public function
TokenCollection::count public function
TokenCollection::current public function
TokenCollection::key public function
TokenCollection::next public function
TokenCollection::offsetExists public function
TokenCollection::offsetGet public function
TokenCollection::offsetSet public function
TokenCollection::offsetUnset public function
TokenCollection::rewind public function
TokenCollection::valid public function
RSS feed
Powered by Drupal