/** * INTERNAL: * The message is passed to its reference class descriptor. */ public void postDeleteAttributeValue(DeleteObjectQuery query, Object attributeValue) throws DatabaseException, OptimisticLockException { if (attributeValue == null) { return; } // PERF: Avoid for simple aggregates. ClassDescriptor descriptor = getReferenceDescriptor(attributeValue, query.getSession()); if (descriptor.getObjectBuilder().isSimple() && !descriptor.getEventManager().hasAnyEventListeners()) { return; } DeleteObjectQuery aggregateQuery = buildAggregateDeleteQuery(query, attributeValue); descriptor.getQueryManager().postDelete(aggregateQuery); executeEvent(DescriptorEventManager.PostDeleteEvent, aggregateQuery); }
/** * INTERNAL: * The message is passed to its reference class descriptor. */ public void postDeleteAttributeValue(DeleteObjectQuery query, Object attributeValue) throws DatabaseException, OptimisticLockException { if (attributeValue == null) { return; } // PERF: Avoid for simple aggregates. ClassDescriptor descriptor = getReferenceDescriptor(attributeValue, query.getSession()); if (descriptor.getObjectBuilder().isSimple() && !descriptor.getEventManager().hasAnyEventListeners()) { return; } DeleteObjectQuery aggregateQuery = buildAggregateDeleteQuery(query, attributeValue); descriptor.getQueryManager().postDelete(aggregateQuery); executeEvent(DescriptorEventManager.PostDeleteEvent, aggregateQuery); }
/** * INTERNAL: * The message is passed to its reference class descriptor. */ public void preDeleteAttributeValue(DeleteObjectQuery query, Object attributeValue) throws DatabaseException, OptimisticLockException { if (attributeValue == null) { return; } // PERF: Avoid for simple aggregates. AbstractSession session = query.getSession(); ClassDescriptor descriptor = getReferenceDescriptor(attributeValue, session); if (descriptor.getObjectBuilder().isSimple() && !descriptor.getEventManager().hasAnyEventListeners()) { return; } DeleteObjectQuery aggregateQuery = buildAggregateDeleteQuery(query, attributeValue); executeEvent(DescriptorEventManager.PreDeleteEvent, aggregateQuery); descriptor.getQueryManager().preDelete(aggregateQuery); }
/** * INTERNAL: * The message is passed to its reference class descriptor. */ public void preDeleteAttributeValue(DeleteObjectQuery query, Object attributeValue) throws DatabaseException, OptimisticLockException { if (attributeValue == null) { return; } // PERF: Avoid for simple aggregates. AbstractSession session = query.getSession(); ClassDescriptor descriptor = getReferenceDescriptor(attributeValue, session); if (descriptor.getObjectBuilder().isSimple() && !descriptor.getEventManager().hasAnyEventListeners()) { return; } DeleteObjectQuery aggregateQuery = buildAggregateDeleteQuery(query, attributeValue); executeEvent(DescriptorEventManager.PreDeleteEvent, aggregateQuery); descriptor.getQueryManager().preDelete(aggregateQuery); }
/** * INTERNAL: * The message is passed to its reference class descriptor. */ public void postDeleteAttributeValue(DeleteObjectQuery query, Object attributeValue) throws DatabaseException, OptimisticLockException { if (attributeValue == null) { return; } // PERF: Avoid for simple aggregates. ClassDescriptor descriptor = getReferenceDescriptor(attributeValue, query.getSession()); if (descriptor.getObjectBuilder().isSimple() && !descriptor.getEventManager().hasAnyEventListeners()) { return; } DeleteObjectQuery aggregateQuery = buildAggregateDeleteQuery(query, attributeValue); descriptor.getQueryManager().postDelete(aggregateQuery); executeEvent(DescriptorEventManager.PostDeleteEvent, aggregateQuery); }
/** * INTERNAL: * The message is passed to its reference class descriptor. */ public void preDeleteAttributeValue(DeleteObjectQuery query, Object attributeValue) throws DatabaseException, OptimisticLockException { if (attributeValue == null) { return; } // PERF: Avoid for simple aggregates. AbstractSession session = query.getSession(); ClassDescriptor descriptor = getReferenceDescriptor(attributeValue, session); if (descriptor.getObjectBuilder().isSimple() && !descriptor.getEventManager().hasAnyEventListeners()) { return; } DeleteObjectQuery aggregateQuery = buildAggregateDeleteQuery(query, attributeValue); executeEvent(DescriptorEventManager.PreDeleteEvent, aggregateQuery); descriptor.getQueryManager().preDelete(aggregateQuery); }