Example #1
0
 /**
  * Remove the item at absPath from local cache and keep information for undo.
  *
  * @param string $absPath The absolute path of the item that is being
  *      removed. Note that contrary to removeItem(), this path is the full
  *      path for a property too.
  * @param PropertyInterface $property         The item that is being removed
  * @param bool              $sessionOperation whether the property removal should be
  *      dispatched immediately or needs to be scheduled in the operations log
  *
  * @see ObjectManager::removeItem()
  */
 protected function performPropertyRemove($absPath, PropertyInterface $property, $sessionOperation = true)
 {
     if ($sessionOperation) {
         if ($property->isNew()) {
             return;
         }
         // keep reference to object in case of refresh
         $operation = new RemovePropertyOperation($absPath, $property);
         $this->propertiesRemove[$absPath] = $operation;
         $this->operationsLog[] = $operation;
         return;
     }
     // this is no session operation
     $this->transport->deletePropertyImmediately($absPath);
 }