Class: Container Abstract

Defined in: lib/container.coffee
Inherits: CSObject

Overview

This class is abstract.

Контейнер, сущность для групировки, доступа и обработки других сущностей. @class Container

Direct Known Subclasses

Deque Queue Stack

Class Method Summary

Instance Method Summary

Inherited Method Summary

Methods inherited from CSObject

#destructor

Class Method Details

. (Boolean) isContainer(object)

Проверяет является ли object контейнером

Parameters:

  • object ( * ) проверяемая сущность

Throws:

  • ( Error ) — если аргументов не 1

Returns:

  • ( Boolean ) — является или нет

. (extend Container|Error|TypeError) fromJSON(data, quiet = false)

Создаёт контейнер на основе JSON-объекта data и не отбрасывает ошибок, если quiet выставлно в yes

Parameters:

  • data ( Object ) объект для строительства
  • quiet ( Boolean ) возвращать ли ошибки вметсо их отбрсывания

Throws:

  • ( Error ) — если аргументов не 1 и не 2
  • ( TypeError ) — если data не объект и/или quiet не булево
  • ( TypeError ) — если нарушен формат data
  • ( Error ) — если метод fromArray не определён в потомке
  • ( TypeError ) — если имя потомка и имя в data не совпали

Returns:

  • ( extend Container|Error|TypeError ) — сооружение или ошибку, при включенном quiet и возникновении ошибки

Constructor Details

# (void) constructor()

Создаёт контейнер, инициализирует все свойства

Throws:

  • ( TypeError ) — если пытаются создать объект абстрктного класса

Instance Method Details

# (extends Container) copy(arrayStrategy)

Копирует объект с сохранением всех ссылок и значений в узлах

Parameters:

  • arrayStrategy ( Boolean ) использовать прикопировании создание массива и передачу его в функцию fromArray [default = no]. По идее параметр arrayStrategy для внутреннего пользования, но как знать, может кому поможет...

Throws:

  • ( typeError ) — если аргументов > 1 или если это не булево значение

Returns:

  • ( extends Container ) — унаследованные от контейнера классы в которых вызван метод

# (Array<*>) values()

возвращает значения в узлах контейнера в виде массива начиная с начала контейнера

Throws:

  • ( TypeError ) — если переданы аргументы

Returns:

  • ( Array<*> ) — массив значений узлов

# (Boolean) has(some)

Определяет, находится ли сущность some хотя бы в одном из узлов. Сложность О(n)

Parameters:

  • some ( * ) искомая сущность

Throws:

  • ( TypeError ) — если аргументов не 1

Returns:

  • ( Boolean ) — есть ли значение в хотя бы одном из узлов

# (String) toString()

Создаёт строчное предтсавления контейнера. Между элементами расставляет -> для односвязанных списков и <-> для двусвязанных.

Returns:

  • ( String ) — проекция контейнера на строку

# (Object< type:String, data:Array<*> >) toJSON()

Преобразует контейнер в объектное представление, которое можно конвертировать в JSON-строку имя контейнера в type и в data значения в виде массива

Throws:

  • ( TypeError ) — если есть аргументы

Returns:

  • Object< type:String, data:Array<*> >

# (null) destructor()

Разрушает контейнер: требует определение в каждом классе своё @abstarct

Throws:

  • ( TypeError ) — если не определен метод в потомке

Returns:

  • null

    Quickly fuzzy find classes, mixins, methods, file:

    Control the navigation frame:

    You can focus and blur the search input: