Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
/*
* SPDX-License-Identifier: LGPL-2.1-or-later
* Copyright Red Hat Inc. and Hibernate Authors
*/
package org.hibernate.event.spi;

import org.hibernate.engine.spi.SessionFactoryImplementor;
import org.hibernate.persister.entity.EntityPersister;

/**
* Abstract supertype of {@link AbstractPostDatabaseOperationEvent}
* and {@link AbstractPostDatabaseOperationEvent}.
*
* @author Gavin King
*
* @since 7
*/
public abstract class AbstractDatabaseOperationEvent extends AbstractEvent {

private final Object entity;
private final Object id;
private final EntityPersister persister;

/**
* Constructs an event containing the pertinent information.
*
* @param source The session from which the event originated.
* @param entity The entity to be involved in the database operation.
* @param id The entity id to be involved in the database operation.
* @param persister The entity's persister.
*/
public AbstractDatabaseOperationEvent(
EventSource source,
Object entity,
Object id,
EntityPersister persister) {
super( source );
this.entity = entity;
this.id = id;
this.persister = persister;
}

/**
* Retrieves the entity involved in the database operation.
*
* @return The entity.
*/
public Object getEntity() {
return entity;
}

/**
* The id to be used in the database operation.
*
* @return The id.
*/
public Object getId() {
return id;
}

/**
* The persister for the entity.
*
* @return The entity persister.
*/
public EntityPersister getPersister() {
return persister;
}

/**
* The factory which owns the persister for the entity.
*
* @return The factory
*/
@Override
public SessionFactoryImplementor getFactory() {
return persister.getFactory();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
*/
package org.hibernate.event.spi;

import org.hibernate.engine.spi.SessionFactoryImplementor;
import org.hibernate.persister.entity.EntityPersister;

/**
Expand All @@ -14,11 +13,7 @@
*
* @since 7
*/
public abstract class AbstractPostDatabaseOperationEvent extends AbstractEvent {

private final Object entity;
private final Object id;
private final EntityPersister persister;
public abstract class AbstractPostDatabaseOperationEvent extends AbstractDatabaseOperationEvent {

/**
* Constructs an event containing the pertinent information.
Expand All @@ -33,46 +28,7 @@ public AbstractPostDatabaseOperationEvent(
Object entity,
Object id,
EntityPersister persister) {
super( source );
this.entity = entity;
this.id = id;
this.persister = persister;
}

/**
* Retrieves the entity involved in the database operation.
*
* @return The entity.
*/
public Object getEntity() {
return entity;
}

/**
* The id to be used in the database operation.
*
* @return The id.
*/
public Object getId() {
return id;
}

/**
* The persister for the entity.
*
* @return The entity persister.
*/
public EntityPersister getPersister() {
return persister;
super( source, entity, id, persister );
}

/**
* The factory which owns the persister for the entity.
*
* @return The factory
*/
@Override
public SessionFactoryImplementor getFactory() {
return persister.getFactory();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,14 @@
*/
package org.hibernate.event.spi;

import org.hibernate.engine.spi.SessionFactoryImplementor;
import org.hibernate.persister.entity.EntityPersister;

/**
* Represents an operation that is about to be executed by the database.
*
* @author Steve Ebersole
*/
public abstract class AbstractPreDatabaseOperationEvent extends AbstractEvent {

private final Object entity;
private final Object id;
private final EntityPersister persister;
public abstract class AbstractPreDatabaseOperationEvent extends AbstractDatabaseOperationEvent {

/**
* Constructs an event containing the pertinent information.
Expand All @@ -31,46 +26,6 @@ public AbstractPreDatabaseOperationEvent(
Object entity,
Object id,
EntityPersister persister) {
super( source );
this.entity = entity;
this.id = id;
this.persister = persister;
}

/**
* Retrieves the entity involved in the database operation.
*
* @return The entity.
*/
public Object getEntity() {
return entity;
}

/**
* The id to be used in the database operation.
*
* @return The id.
*/
public Object getId() {
return id;
}

/**
* The persister for the entity.
*
* @return The entity persister.
*/
public EntityPersister getPersister() {
return persister;
}

/**
* The factory which owns the persister for the entity.
*
* @return The factory
*/
@Override
public SessionFactoryImplementor getFactory() {
return persister.getFactory();
super( source, entity, id, persister );
}
}