/** * Construct a new instance of ResouceProperty * * @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 InvalidOperationException */ 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; }