NAME

Podius::Property::AbstractComponentCollection - superclass of component collection property


SYNOPSIS

This is pure virtual class. Use subclass instead.


DESCRIPTION

To write.


REQUIREMENTS

the Exception manpage, the Debug manpage, the Podius::Property manpage.


CONSTRUCTORS

new

description
Class constructor.

parameters
  * class name (like all constructors)
  * scalar, collected component class
returns
New formed property reference.

new_from_serialized

description
Class constructor. Used for deserialization.

parameters
  * class name (like all constructors)
  * string, representing the property
  * scalar, collected component class

New: string is actually array ref of strings (ids).

returns
New formed property reference.


METHODS

serialize

description
Used for serialization.

returns
String, representing the property, from which the property can be restored later by new_from_serialized constructor. New: string is actually array ref of strings (ids).

access

parameters
Accessor: none.

Modifier: array ref of components (or their ids).

returns
Accessor: ref to component array.

Modifier: array of components (or their ids, when use_ids).

access_component_type

description
Used to get/set collected component type.

parameters
Scalar, representing component type.

access_ids

description
Only accessor form is available.

Returns ids of included components.

returns
Array ref of component ids.

add

parameters
Array ref of components (or their ids) to add to component collection.

returns
Property value.

delete

parameters
Array ref of components (or their ids) to delete from component collection.

returns
Property value.

merge

description
Implementation of the virtual method merge to deal with component collections.

The method merges old and new collections using the merge_arrays function, implemented in the Array::Merge manpage package.

parameters
  * new property
  * optional policy: 0 - pure merge (default), 1 - keep old, 2 - keep new
returns
1 on success, otherwise - 0.