protected function setGenericObject($fieldName, $fieldData, $objectName = "object", $nullable = true)
    {
        //====================================================================//
        // Load New Object Id
        $newId = null;
        if ($fieldData && method_exists($fieldData, "getId") && $fieldData->getId()) {
            $newId = $fieldData->getId();
        }
        //====================================================================//
        // Read Current Object Id
        $currentId = $this->getObjectId($fieldName, $objectName);
        //====================================================================//
        // No Changes
        if ($newId == $currentId) {
            return $this;
        }
        //====================================================================//
        // Check Pointed Object Exists & Has an Id
        if (null == $newId) {
            if ($nullable) {
                //====================================================================//
                // Set Pointed Object to Null
                $this->{$objectName}->{ "set".$fieldName}(null);
                $this->needUpdate();
            }

            return $this;
        }
        //====================================================================//
        // Update Pointed Object to New Value
        $this->{$objectName}->{ "set".$fieldName}($fieldData);
        $this->needUpdate();

        return $this;
    }
protected function setGenericObject($fieldName, $fieldData, $objectName = "object", $nullable = true)
    {
        //====================================================================//
        // Load New Object Id
        $newId = null;
        if ($fieldData && method_exists($fieldData, "getId") && $fieldData->getId()) {
            $newId = $fieldData->getId();
        }
        //====================================================================//
        // Read Current Object Id
        $currentId = $this->getObjectId($fieldName, $objectName);
        //====================================================================//
        // No Changes
        if ($newId == $currentId) {
            return $this;
        }
        //====================================================================//
        // Check Pointed Object Exists & Has an Id
        if (null == $newId) {
            if ($nullable) {
                //====================================================================//
                // Set Pointed Object to Null
                $this->{$objectName}->{ "set".$fieldName}(null);
                $this->needUpdate();
            }

            return $this;
        }
        //====================================================================//
        // Update Pointed Object to New Value
        $this->{$objectName}->{ "set".$fieldName}($fieldData);
        $this->needUpdate();

        return $this;
    }
protected function setGenericObject ( $ fieldName , $ fieldData , $ objectName = "object" , $ nullable = true ) { //====================================================================// // Load New Object Id $ newId = null ; if ( $ fieldData && method_exists ( $ fieldData , "getId" ) && $ fieldData -> getId ( ) ) { $ newId = $ fieldData -> getId ( ) ; } //====================================================================// // Read Current Object Id $ currentId = $ this -> getObjectId ( $ fieldName , $ objectName ) ; //====================================================================// // No Changes if ( $ newId == $ currentId ) { return $ this ; } //====================================================================// // Check Pointed Object Exists & Has an Id if ( null == $ newId ) { if ( $ nullable ) { //====================================================================// // Set Pointed Object to Null $ this -> { $ objectName } -> { "set" . $ fieldName } ( null ) ; $ this -> needUpdate ( ) ; } return $ this ; } //====================================================================// // Update Pointed Object to New Value $ this -> { $ objectName } -> { "set" . $ fieldName } ( $ fieldData ) ; $ this -> needUpdate ( ) ; return $ this ; }
Convert Splash ObjectId String to Local Object

@param string $fieldName  Field Identifier
@param mixed  $fieldData  New Target Object
@param string $objectName Name of private object to read (Default : "object")
@param bool   $nullable   Can we set Object to Null

@return self
Convert Splash ObjectId String to Local Object