/**
  * Singleton pattern.
  *
  * @return ncChangeLogEntryQueue
  */
 public static function getInstance()
 {
     if (!self::$_instance instanceof self) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
 /**
  * After an object has been saved, commit the changes to its changelog.
  *
  * @param mixed $object
  * @param PropelPDO $con
  */
 public static function postSave($object, $con)
 {
     if (!self::$enabled) {
         return false;
     }
     $entry = ncChangeLogEntryQueue::getInstance()->selectivePop(get_class($object), ncChangeLogEntryOperation::NC_CHANGE_LOG_ENTRY_OPERATION_UPDATE, $object->getPrimaryKey());
     if (!$entry) {
         $entry = ncChangeLogEntryQueue::getInstance()->selectivePop(get_class($object), ncChangeLogEntryOperation::NC_CHANGE_LOG_ENTRY_OPERATION_INSERTION, null, method_exists($object, 'getCreatedAt') ? $object->getCreatedAt(null) : null);
     }
     if ($entry) {
         if ($entry->isOperation(ncChangeLogEntryOperation::NC_CHANGE_LOG_ENTRY_OPERATION_INSERTION)) {
             $entry->setObjectPk($object->getPrimaryKey());
             $changes = array('class' => get_class($object), 'pk' => $object->getPrimaryKey(), 'raw' => array());
             $entry->setChangesDetail(base64_encode(serialize($changes)));
         }
         $entry->save();
     }
 }