[+TASK] Extbase (DomainObject): Added a "private" property _localizationParentUid...
[Packages/TYPO3.CMS.git] / typo3 / sysext / extbase / Classes / DomainObject / AbstractDomainObject.php
index 1669816..30f25af 100644 (file)
@@ -38,11 +38,16 @@ abstract class Tx_Extbase_DomainObject_AbstractDomainObject implements Tx_Extbas
         */
        protected $uid;
 
+       /**
+        * @var int The uid of the localization parent
+        */
+       protected $_localizationParentUid;
+
        /**
         * TRUE if the object is a clone
         * @var boolean
         */
-       private $isClone = FALSE;
+       private $_isClone = FALSE;
 
        /**
         * The generic constructor. If you want to implement your own __constructor() method in your Domain Object you have to call
@@ -80,9 +85,13 @@ abstract class Tx_Extbase_DomainObject_AbstractDomainObject implements Tx_Extbas
         * @return int the uid or NULL if none set yet.
         */
        final public function getUid() {
-               return ($this->uid === NULL ? NULL : (int)$this->uid);
+               if ($this->uid !== NULL) {
+                       return (int)$this->uid;
+               } else {
+                       return NULL;
+               }
        }
-
+       
        /**
         * Reconstitutes a property. Only for internal use.
         *
@@ -114,7 +123,11 @@ abstract class Tx_Extbase_DomainObject_AbstractDomainObject implements Tx_Extbas
         */
        public function _getProperties() {
                $properties = get_object_vars($this);
-               unset($properties['_cleanProperties']);
+               foreach ($properties as $propertyName => $propertyValue) {
+                       if ($propertyName{0} === '_') {
+                               unset($properties[$propertyName]);
+                       }
+               }
                return $properties;
        }
        
@@ -134,7 +147,7 @@ abstract class Tx_Extbase_DomainObject_AbstractDomainObject implements Tx_Extbas
         * @return boolean
         */
        public function _isNew() {
-               return ($this->uid === NULL) || $this->_isClone();
+               return $this->uid === NULL;
        }
 
        /**
@@ -151,7 +164,7 @@ abstract class Tx_Extbase_DomainObject_AbstractDomainObject implements Tx_Extbas
         *
         * @return boolean
         */
-       public function _isDirty() {
+       public function _isDirty($propertyName = NULL) {
                return FALSE;
        }
 
@@ -161,7 +174,7 @@ abstract class Tx_Extbase_DomainObject_AbstractDomainObject implements Tx_Extbas
         * @return boolean TRUE if the object has been cloned
         */
        public function _isClone() {
-               return $this->isClone;
+               return $this->_isClone;
        }
 
        /**
@@ -173,7 +186,7 @@ abstract class Tx_Extbase_DomainObject_AbstractDomainObject implements Tx_Extbas
         * @param boolean $clone
         */
        public function _setClone($clone) {
-               $this->isClone = (boolean)$clone;
+               $this->_isClone = (boolean)$clone;
        }
 
        /**
@@ -182,7 +195,8 @@ abstract class Tx_Extbase_DomainObject_AbstractDomainObject implements Tx_Extbas
         * @return void
         */
        public function __clone() {
-               $this->isClone = TRUE;
+               $this->_isClone = TRUE;
        }
+       
 }
 ?>
\ No newline at end of file