79 if ($this->uid !== NULL) {
96 $this->pid = (int)
$pid;
106 if ($this->pid === NULL) {
122 $this->{$propertyName} = $propertyValue;
135 return $this->{$propertyName};
144 $properties = get_object_vars($this);
145 foreach ($properties as $propertyName => $propertyValue) {
146 if ($propertyName[0] ===
'_') {
147 unset($properties[$propertyName]);
160 return property_exists($this, $propertyName);
169 return $this->uid === NULL;
180 if ($propertyName !== NULL) {
183 $this->_cleanProperties = array();
184 $properties = get_object_vars($this);
185 foreach ($properties as $propertyName => $propertyValue) {
186 if ($propertyName[0] ===
'_') {
203 $propertyValue = $this->{$propertyName};
204 if (is_object($propertyValue)) {
205 $this->_cleanProperties[$propertyName] = clone $propertyValue;
213 $this->_cleanProperties[$propertyName]->_setClone(FALSE);
216 $this->_cleanProperties[$propertyName] = $propertyValue;
237 return isset($this->_cleanProperties[$propertyName]) ? $this->_cleanProperties[$propertyName] : NULL;
249 throw new \TYPO3\CMS\Extbase\Persistence\Generic\Exception\TooDirtyException(
'The uid "' . $this->uid .
'" has been modified, that is simply too much.', 1222871239);
252 if ($propertyName === NULL) {
254 if ($this->
isPropertyDirty($cleanPropertyValue, $this->{$propertyName}) === TRUE) {
276 if (is_object($currentValue)) {
278 $result = !is_object($previousValue) || get_class($previousValue) !== get_class($currentValue) || $currentValue->getUid() !== $previousValue->getUid();
279 } elseif ($currentValue instanceof \
TYPO3\CMS\Extbase\Persistence\ObjectMonitoringInterface) {
280 $result = !is_object($previousValue) || $currentValue->_isDirty() || get_class($previousValue) !== get_class($currentValue);
283 $result = $previousValue != $currentValue;
286 $result = $previousValue !== $currentValue;
327 return get_class($this) .
':' . (string) $this->uid;
_isDirty($propertyName=NULL)
_hasProperty($propertyName)
_memorizePropertyCleanState($propertyName)
isPropertyDirty($previousValue, $currentValue)
if($list_of_literals) if(!empty($literals)) if(!empty($literals)) $result
Analyse literals to prepend the N char to them if their contents aren't numeric.
_getProperty($propertyName)
_setProperty($propertyName, $propertyValue)
_memorizeCleanState($propertyName=NULL)
_getCleanProperty($propertyName)