/** * PUBLIC: * Get the event manager for the descriptor. The event manager is responsible * for managing the pre/post selectors. */ public DescriptorEventManager getDescriptorEventManager() { return getEventManager(); }
/** * PUBLIC: * Get the event manager for the descriptor. The event manager is responsible * for managing the pre/post selectors. */ public DescriptorEventManager getDescriptorEventManager() { return getEventManager(); }
/** * PUBLIC: * Get the event manager for the descriptor. The event manager is responsible * for managing the pre/post selectors. */ public DescriptorEventManager getDescriptorEventManager() { return getEventManager(); }
/** * INTERNAL: */ public void addDefaultEventListener(DescriptorEventListener listener) { m_descriptor.getEventManager().addDefaultEventListener(listener); }
/** * INTERNAL: */ public void setEntityEventListener(EntityListener listener) { m_descriptor.getEventManager().setEntityEventListener(listener); }
/** * INTERNAL: */ public void addEntityListenerEventListener(DescriptorEventListener listener) { m_descriptor.getEventManager().addEntityListenerEventListener(listener); }
/** * INTERNAL: */ public void setExcludeDefaultListeners(boolean excludeDefaultListeners) { m_descriptor.getEventManager().setExcludeDefaultListeners(excludeDefaultListeners); }
/** * INTERNAL: */ public void setExcludeSuperclassListeners(boolean excludeSuperclassListeners) { m_descriptor.getEventManager().setExcludeSuperclassListeners(excludeSuperclassListeners); }
/** * INTERNAL: */ public boolean excludeSuperclassListeners() { return m_descriptor.getEventManager().excludeSuperclassListeners(); }
/** * INTERNAL: * Execute a descriptor event for the specified event code. */ protected void executeEvent(int eventCode, ObjectLevelModifyQuery query) { ClassDescriptor referenceDescriptor = getReferenceDescriptor(query.getObject().getClass(), query.getSession()); // PERF: Avoid events if no listeners. if (referenceDescriptor.getEventManager().hasAnyEventListeners()) { referenceDescriptor.getEventManager().executeEvent(new DescriptorEvent(eventCode, query)); } }
/** * INTERNAL: * Execute a descriptor event for the specified event code. */ protected void executeEvent(int eventCode, ObjectLevelModifyQuery query) { ClassDescriptor referenceDescriptor = getReferenceDescriptor(query.getObject().getClass(), query.getSession()); // PERF: Avoid events if no listeners. if (referenceDescriptor.getEventManager().hasAnyEventListeners()) { referenceDescriptor.getEventManager().executeEvent(new DescriptorEvent(eventCode, query)); } }
/** * INTERNAL: * Execute a descriptor event for the specified event code. */ protected void executeEvent(int eventCode, ObjectLevelModifyQuery query) { ClassDescriptor referenceDescriptor = getReferenceDescriptor(query.getObject().getClass(), query.getSession()); // PERF: Avoid events if no listeners. if (referenceDescriptor.getEventManager().hasAnyEventListeners()) { referenceDescriptor.getEventManager().executeEvent(new DescriptorEvent(eventCode, query)); } }
/** * INTERNAL: * Execute a descriptor event for the specified event code. */ protected void executeEvent(int eventCode, ObjectLevelModifyQuery query) { ClassDescriptor referenceDescriptor = getReferenceDescriptor(query.getObject(), query.getSession()); // PERF: Avoid events if no listeners. if (referenceDescriptor.getEventManager().hasAnyEventListeners()) { referenceDescriptor.getEventManager().executeEvent(new org.eclipse.persistence.descriptors.DescriptorEvent(eventCode, query)); } }
/** * INTERNAL: * Execute a descriptor event for the specified event code. */ protected void executeEvent(int eventCode, ObjectLevelModifyQuery query) { ClassDescriptor referenceDescriptor = getReferenceDescriptor(query.getObject(), query.getSession()); // PERF: Avoid events if no listeners. if (referenceDescriptor.getEventManager().hasAnyEventListeners()) { referenceDescriptor.getEventManager().executeEvent(new org.eclipse.persistence.descriptors.DescriptorEvent(eventCode, query)); } }
/** * INTERNAL: * Execute a descriptor event for the specified event code. */ protected void executeEvent(int eventCode, ObjectLevelModifyQuery query) { ClassDescriptor referenceDescriptor = getReferenceDescriptor(query.getObject(), query.getSession()); // PERF: Avoid events if no listeners. if (referenceDescriptor.getEventManager().hasAnyEventListeners()) { referenceDescriptor.getEventManager().executeEvent(new org.eclipse.persistence.descriptors.DescriptorEvent(eventCode, query)); } }
/** * INTERNAL: * This method is used to resolve Descriptor Events processed earlier into EventHolders that now need to be * used to create the DescriptorEventListeners and added to the DescriptorEventManager * */ private void finishProcessingDescriptorEvents(ClassLoader realClassLoader) { for (ClassDescriptor descriptor: session.getProject().getDescriptors().values()) { if (descriptor.hasEventManager()) { descriptor.getEventManager().processDescriptorEventHolders(session, realClassLoader); } } }
private void requestInjectionForEntityListeners( final ClassDescriptor descriptor ) { final DescriptorEventManager eventManager = descriptor.getEventManager(); requestInjectionForEntityListeners( eventManager.getDefaultEventListeners() ); requestInjectionForEntityListeners( eventManager.getEntityListenerEventListeners() ); }
/** * INTERNAL: * Notify the event listeners. */ public void notifyListeners(DescriptorEvent event) { if (hasAnyListeners()) { for (int index = 0; index < getEventListeners().size(); index++) { DescriptorEventListener listener = (DescriptorEventListener)getEventListeners().get(index); notifyListener(listener, event); } } // Also must notify any inherited listeners. if (getDescriptor().isChildDescriptor()) { getDescriptor().getInheritancePolicy().getParentDescriptor().getEventManager().notifyListeners(event); } }
/** * INTERNAL: * Notify the event listeners. */ public void notifyListeners(DescriptorEvent event) { if (hasAnyListeners()) { for (int index = 0; index < getEventListeners().size(); index++) { DescriptorEventListener listener = (DescriptorEventListener)getEventListeners().get(index); notifyListener(listener, event); } } // Also must notify any inherited listeners. if (getDescriptor().isChildDescriptor()) { getDescriptor().getInheritancePolicy().getParentDescriptor().getEventManager().notifyListeners(event); } }
/** * 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); }