validate_requested_data( $requested_data ); $this->requested_data = $requested_data; $this->name = $name; $this->description = $description; $this->tags = $tags; $this->categories = $categories; $this->attributes = $attributes; } /** * Validates the requested attribute. * * @param string $requested_data The attribute that suggestions are being requested for. * * @return void * * @throws Product_Data_Suggestion_Exception If the requested data is invalid. */ private function validate_requested_data( string $requested_data ): void { $valid_requested_data_keys = array( self::REQUESTED_DATA_NAME, self::REQUESTED_DATA_DESCRIPTION, self::REQUESTED_DATA_TAGS, self::REQUESTED_DATA_CATEGORIES, ); if ( ! in_array( $requested_data, $valid_requested_data_keys, true ) ) { throw new Product_Data_Suggestion_Exception( 'Invalid requested data.', 400 ); } } }