public String toString() { return getClass().getSimpleName() + "(" + getObjectChangeSet() + ")"; } }
/** * INTERNAL: * Assign AttributeChangeListener to PropertyChangeListener */ public PropertyChangeListener setChangeListener(Object clone, UnitOfWorkImpl uow, ClassDescriptor descriptor) { AttributeChangeListener listener = new AttributeChangeListener(descriptor, uow, clone); ((ChangeTracker)clone)._persistence_setPropertyChangeListener(listener); return listener; }
/** * PUBLIC: * This method creates the object change set if necessary. It also creates/updates * the change record based on the new value. Object should check the if newValue and * oldValue are identical. If they are identical, do not create PropertyChangeEvent * and call this method. */ public void propertyChange(PropertyChangeEvent evt) { if (this.ignoreEvents){ return; } internalPropertyChange(evt); }
objectChangeSet = getDescriptor().getObjectBuilder().createObjectChangeSet(owner, (UnitOfWorkChangeSet) uow.getUnitOfWorkChangeSet(), false, uow); mapping.updateChangeRecord(evt.getSource(), evt.getNewValue(), evt.getOldValue(), objectChangeSet, getUnitOfWork()); } else if (evt.getClass().equals(ClassConstants.CollectionChangeEvent_Class) || (evt.getClass().equals(ClassConstants.MapChangeEvent_Class))) { mapping.updateCollectionChangeRecord((CollectionChangeEvent)evt, objectChangeSet, getUnitOfWork()); } else { throw ValidationException.wrongChangeEvent(evt.getClass());
type = EntityChangedEvent.Type.DELETED; attributeChanges = getEntityAttributeChanges(entity, true); } else if (info.onUpdated && changeListener.hasChanges()) { type = EntityChangedEvent.Type.UPDATED; attributeChanges = getEntityAttributeChanges(entity, changeListener.getObjectChangeSet());
/** * INTERNAL: * Set the ObjectChangeSet on the Listener, initially used for aggregate support */ public void setChangeSetOnListener(ObjectChangeSet objectChangeSet, Object clone){ ((AttributeChangeListener)((ChangeTracker)clone)._persistence_getPropertyChangeListener()).setObjectChangeSet(objectChangeSet); }
(AttributeChangeListener) changeTracker._persistence_getPropertyChangeListener(); return changeListener != null && changeListener.hasChanges(); }) .collect(Collectors.toList());
objectChangeSet = getDescriptor().getObjectBuilder().createObjectChangeSet(owner, (UnitOfWorkChangeSet) uow.getUnitOfWorkChangeSet(), false, uow); mapping.updateChangeRecord(evt.getSource(), evt.getNewValue(), evt.getOldValue(), objectChangeSet, getUnitOfWork()); } else if (evt.getClass().equals(ClassConstants.CollectionChangeEvent_Class) || (evt.getClass().equals(ClassConstants.MapChangeEvent_Class))) { mapping.updateCollectionChangeRecord((CollectionChangeEvent)evt, objectChangeSet, getUnitOfWork()); } else { throw ValidationException.wrongChangeEvent(evt.getClass());
/** * INTERNAL: * Set the ObjectChangeSet on the Listener, initially used for aggregate support */ public void setChangeSetOnListener(ObjectChangeSet objectChangeSet, Object clone){ ((AttributeChangeListener)((ChangeTracker)clone)._persistence_getPropertyChangeListener()).setObjectChangeSet(objectChangeSet); }
/** * Returns true if the given entity has dirty attributes (changed since the last load from the database). * <br> If the entity is new, returns true. * <br> If the entity is not persistent or not in the Managed state, returns false. * * @param entity entity instance * @see #getDirtyFields(Entity) * @see #isDirty(Entity, String...) */ public boolean isDirty(Entity entity) { Preconditions.checkNotNullArgument(entity, "entity is null"); if (!(entity instanceof ChangeTracker) || !entityStates.isManaged(entity)) return false; if (entityStates.isNew(entity)) return true; AttributeChangeListener attributeChangeListener = (AttributeChangeListener) ((ChangeTracker) entity)._persistence_getPropertyChangeListener(); return attributeChangeListener != null && attributeChangeListener.hasChanges(); }
public String toString() { return getClass().getSimpleName() + "(" + getObjectChangeSet() + ")"; } }
objectChangeSet = getDescriptor().getObjectBuilder().createObjectChangeSet(owner, (UnitOfWorkChangeSet) uow.getUnitOfWorkChangeSet(), false, uow); mapping.updateChangeRecord(evt.getSource(), evt.getNewValue(), evt.getOldValue(), objectChangeSet, getUnitOfWork()); } else if (evt.getClass().equals(ClassConstants.CollectionChangeEvent_Class) || (evt.getClass().equals(ClassConstants.MapChangeEvent_Class))) { mapping.updateCollectionChangeRecord((CollectionChangeEvent)evt, objectChangeSet, getUnitOfWork()); } else { throw ValidationException.wrongChangeEvent(evt.getClass());
/** * PUBLIC: * This method creates the object change set if necessary. It also creates/updates * the change record based on the new value. Object should check the if newValue and * oldValue are identical. If they are identical, do not create PropertyChangeEvent * and call this method. */ public void propertyChange(PropertyChangeEvent evt) { if (this.ignoreEvents){ return; } internalPropertyChange(evt); }
/** * INTERNAL: * Set the ObjectChangeSet on the Listener, initially used for aggregate support */ public void setChangeSetOnListener(ObjectChangeSet objectChangeSet, Object clone){ ((AttributeChangeListener)((ChangeTracker)clone)._persistence_getPropertyChangeListener()).setObjectChangeSet(objectChangeSet); }
/** * INTERNAL: * Assign AttributeChangeListener to PropertyChangeListener */ public PropertyChangeListener setChangeListener(Object clone, UnitOfWorkImpl uow, ClassDescriptor descriptor) { AttributeChangeListener listener = new AttributeChangeListener(descriptor, uow, clone); ((ChangeTracker)clone)._persistence_setPropertyChangeListener(listener); return listener; }
AttributeChangeListener changeListener = (AttributeChangeListener) ((ChangeTracker) entity)._persistence_getPropertyChangeListener(); if (changeListener != null && changeListener.hasChanges()) throw new IllegalStateException("Changed instance " + entity + " in read-only transaction");
/** * Accumulates changes for the entity. Stores changed attribute names and old values. */ public void addChanges(Entity entity) { if (!(entity instanceof ChangeTracker)) return; AttributeChangeListener changeListener = (AttributeChangeListener) ((ChangeTracker) entity)._persistence_getPropertyChangeListener(); if (changeListener == null) return; addChanges(changeListener.getObjectChangeSet()); }
/** * PUBLIC: * This method creates the object change set if necessary. It also creates/updates * the change record based on the new value. Object should check the if newValue and * oldValue are identical. If they are identical, do not create PropertyChangeEvent * and call this method. */ public void propertyChange(PropertyChangeEvent evt) { if (this.ignoreEvents){ return; } internalPropertyChange(evt); }
/** * INTERNAL: * Assign AttributeChangeListener to PropertyChangeListener */ public PropertyChangeListener setChangeListener(Object clone, UnitOfWorkImpl uow, ClassDescriptor descriptor) { AttributeChangeListener listener = new AttributeChangeListener(descriptor, uow, clone); ((ChangeTracker)clone)._persistence_setPropertyChangeListener(listener); return listener; }
return true; } else if (changeListener.hasChanges()) { entityListenerManager.fireListener(entity, EntityListenerType.BEFORE_UPDATE, storeName); if (BaseEntityInternalAccess.isNew(entity)) {