<?php
namespace nur\b\coll\impl;

use nur\b\coll\ArrayView;
use nur\b\coll\TArrayMd;
use nur\b\coll\TAutoconstsStatic;

/**
 * Class Item
 *
 * --autogen-properties-and-methods--
 * @method string getName()
 * @method int getAge()
 * @method void setName(string $value)
 * @method void setAge(int $value)
 */
class ItemView extends ArrayView {

  const SCHEMA = [
    "name" => "string",
    "age" => "int",
  ];

  use TArrayMd, TAutoconstsStatic;
  const _AUTOGEN_CONSTS = ["" => [self::class, "_AUTOGEN_CONSTS"]];
  # start of --autogen-dynamic-- section
  const _AUTO_GETTERS = /*autogen*/[
    'getName' => 'name',
    'getAge' => 'age',
  ];
  const _AUTO_SETTERS = /*autogen*/[
    'setName' => 'name',
    'setAge' => 'age',
  ];
  const _AUTO_DELETERS = /*autogen*/[
    'delName' => 'name',
    'delAge' => 'age',
  ];
  const _AUTO_CI_GETTERS = /*autogen*/[];
  const _AUTO_CI_SETTERS = /*autogen*/[];
  const _AUTOGEN_LITERALS = /*autogen*/[
    [
      self::SCHEMA,
      'self::SCHEMA',
    ],
    [\nur\php\Autogen::class, '\\nur\\php\\Autogen::class'],
  ];
  const _AUTOGEN_METHODS = /*autogen*/[
    [
      \nur\php\Autogen::class,
      'auto_getters_methods',
      self::SCHEMA,
    ],
    [
      \nur\php\Autogen::class,
      'auto_setters_methods',
      self::SCHEMA,
    ],
  ];
  #--autogen-dynamic--
}
