diff --git a/core/attributedef.class.inc.php b/core/attributedef.class.inc.php index 95b86711a..6b568b2dd 100644 --- a/core/attributedef.class.inc.php +++ b/core/attributedef.class.inc.php @@ -6644,6 +6644,17 @@ class AttributeCustomFields extends AttributeDefinition return $oHandler->WriteValues($oHostObject, $aValues); } + /** + * The part of the current attribute in the object's signature, for the supplied value + * @param $value The value of this attribute for the object + * @return string The "signature" for this field/attribute + */ + public function Fingerprint($value) + { + $oHandler = $this->GetHandler($value->GetValues()); + return $oHandler->GetValueFingerprint(); + } + /** * Check the validity of the data * @param DBObject $oHostObject diff --git a/core/customfieldshandler.class.inc.php b/core/customfieldshandler.class.inc.php index 1befb9c1d..f9d421700 100644 --- a/core/customfieldshandler.class.inc.php +++ b/core/customfieldshandler.class.inc.php @@ -131,4 +131,10 @@ abstract class CustomFieldsHandler * @return bool */ abstract public function CompareValues($aValuesA, $aValuesB); + + /** + * String representation of the value, must depend solely on the semantics + * @return string + */ + abstract public function GetValueFingerprint(); }