2 namespace TYPO3\CMS\Extbase\DomainObject;
83 if ($this->uid !== null) {
101 $this->pid = (int)
$pid;
112 if ($this->pid === null) {
129 $this->{$propertyName} = $propertyValue;
143 return $this->{$propertyName};
153 $properties = get_object_vars($this);
154 foreach ($properties as $propertyName => $propertyValue) {
155 if ($propertyName[0] ===
'_') {
156 unset($properties[$propertyName]);
170 return property_exists($this, $propertyName);
180 return $this->uid === null;
192 if ($propertyName !== null) {
195 $this->_cleanProperties = array();
196 $properties = get_object_vars($this);
197 foreach ($properties as $propertyName => $propertyValue) {
198 if ($propertyName[0] ===
'_') {
216 $propertyValue = $this->{$propertyName};
217 if (is_object($propertyValue)) {
218 $this->_cleanProperties[$propertyName] = clone $propertyValue;
226 $this->_cleanProperties[$propertyName]->_setClone(
false);
229 $this->_cleanProperties[$propertyName] = $propertyValue;
252 return isset($this->_cleanProperties[$propertyName]) ? $this->_cleanProperties[$propertyName] : null;
265 throw new \TYPO3\CMS\Extbase\Persistence\Generic\Exception\TooDirtyException(
'The uid "' . $this->uid .
'" has been modified, that is simply too much.', 1222871239);
268 if ($propertyName === null) {
270 if ($this->
isPropertyDirty($cleanPropertyValue, $this->{$propertyName}) ===
true) {
293 if (is_object($currentValue)) {
295 $result = !is_object($previousValue) || get_class($previousValue) !== get_class($currentValue) || $currentValue->getUid() !== $previousValue->getUid();
296 }
elseif ($currentValue instanceof \TYPO3\CMS\Extbase\Persistence\ObjectMonitoringInterface) {
297 $result = !is_object($previousValue) || $currentValue->_isDirty() || get_class($previousValue) !== get_class($currentValue);
300 $result = $previousValue != $currentValue;
303 $result = $previousValue !== $currentValue;
348 return get_class($this) .
':' . (string)$this->uid;