/**
* Main constructor
* @see AbstractModel::__construct()
* @uses StructAttribute::setType()
* @uses AbstractModel::setOwner()
* @param Generator $generator
* @param string $name the original name
* @param string $type the type
* @param Struct $struct defines the struct which owns this value
*/
public function __construct(Generator $generator, $name, $type, Struct $struct)
{
parent::__construct($generator, $name);
$this->setType($type)->setOwner($struct);
}