/** * @param string $name Name of the property * @param string $mimeType Mime type of the property * @param ResourcePropertyKind $kind The kind of property * @param ResourceType $propertyResourceType ResourceType of the property * * @throws InvalidArgumentException */ public function __construct($name, $mimeType, $kind, ResourceType $propertyResourceType) { if (!$this->_isValidResourcePropertyKind($kind)) { throw new InvalidArgumentException(Messages::resourcePropertyInvalidKindParameter('$kind')); } if (!$this->_isResourceKindValidForPropertyKind($kind, $propertyResourceType->getResourceTypeKind())) { throw new InvalidArgumentException(Messages::resourcePropertyPropertyKindAndResourceTypeKindMismatch('$kind', '$propertyResourceType')); } $this->_name = $name; $this->_mimeType = $mimeType; $this->_kind = $kind; $this->_propertyResourceType = $propertyResourceType; }