setFlagName($flagName); $this->setQualifierValue($value); } /** * Gets the name of the flag. * * @return string * * @internal */ public function getFlagName() { return $this->flagName; } /** * Sets the name of the flag. * * @param string $flagName The name. * * @return FlagQualifier */ public function setFlagName($flagName) { $this->flagName = $flagName; return $this; } /** * Serializes to string. * * @return string */ public function __toString() { $flagQualifierName = $this->flagName ? self::getKey() . "_{$this->flagName}" : ''; return ArrayUtils::implodeQualifierValues( $flagQualifierName, rawurlencode(StringUtils::encodeDot($this->value)) ); } /** * Serializes to json. * * @return mixed */ public function jsonSerialize() { $res = []; if ($this->flagName) { $res[self::getName()] = $this->flagName; } if ($this->value) { $res['value'] = $this->value; } return $res; } }