_propDict)) { if (is_a($this->_propDict["key"], "\Microsoft\Graph\Model\AttributeDefinitionMetadata") || is_null($this->_propDict["key"])) { return $this->_propDict["key"]; } else { $this->_propDict["key"] = new AttributeDefinitionMetadata($this->_propDict["key"]); return $this->_propDict["key"]; } } return null; } /** * Sets the key * Possible values are: BaseAttributeName, ComplexObjectDefinition, IsContainer, IsCustomerDefined, IsDomainQualified, LinkPropertyNames, LinkTypeName, MaximumLength, ReferencedProperty. * * @param AttributeDefinitionMetadata $val The value to assign to the key * * @return AttributeDefinitionMetadataEntry The AttributeDefinitionMetadataEntry */ public function setKey($val) { $this->_propDict["key"] = $val; return $this; } /** * Gets the value * Value of the metadata property. * * @return string|null The value */ public function getValue() { if (array_key_exists("value", $this->_propDict)) { return $this->_propDict["value"]; } else { return null; } } /** * Sets the value * Value of the metadata property. * * @param string $val The value of the value * * @return AttributeDefinitionMetadataEntry */ public function setValue($val) { $this->_propDict["value"] = $val; return $this; } }