/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* Copyright (c) 2008-2011, Red Hat Inc. or third-party contributors as
* indicated by the @author tags or express copyright attribution
* statements applied by the authors. All third-party contributions are
* distributed under license by Red Hat Inc.
*
* This copyrighted material is made available to anyone wishing to use, modify,
* copy, or redistribute it subject to the terms and conditions of the GNU
* Lesser General Public License, as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
* for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this distribution; if not, write to:
* Free Software Foundation, Inc.
* 51 Franklin Street, Fifth Floor
* Boston, MA 02110-1301 USA
*/
package org.hibernate.event.spi;
Defines an event class for the deletion of an entity.
Author: Steve Ebersole
/**
* Defines an event class for the deletion of an entity.
*
* @author Steve Ebersole
*/
public class DeleteEvent extends AbstractEvent {
private Object object;
private String entityName;
private boolean cascadeDeleteEnabled;
// TODO: The removeOrphan concept is a temporary "hack" for HHH-6484. This should be removed once action/task
// ordering is improved.
private boolean orphanRemovalBeforeUpdates;
Constructs a new DeleteEvent instance.
Params: - object – The entity to be deleted.
- source – The session from which the delete event was generated.
/**
* Constructs a new DeleteEvent instance.
*
* @param object The entity to be deleted.
* @param source The session from which the delete event was generated.
*/
public DeleteEvent(Object object, EventSource source) {
super(source);
if (object == null) {
throw new IllegalArgumentException(
"attempt to create delete event with null entity"
);
}
this.object = object;
}
public DeleteEvent(String entityName, Object object, EventSource source) {
this(object, source);
this.entityName = entityName;
}
public DeleteEvent(String entityName, Object object, boolean cascadeDeleteEnabled, EventSource source) {
this(object, source);
this.entityName = entityName;
this.cascadeDeleteEnabled = cascadeDeleteEnabled;
}
public DeleteEvent(String entityName, Object object, boolean cascadeDeleteEnabled,
boolean orphanRemovalBeforeUpdates, EventSource source) {
this(object, source);
this.entityName = entityName;
this.cascadeDeleteEnabled = cascadeDeleteEnabled;
this.orphanRemovalBeforeUpdates = orphanRemovalBeforeUpdates;
}
Returns the encapsulated entity to be deleed.
Returns: The entity to be deleted.
/**
* Returns the encapsulated entity to be deleed.
*
* @return The entity to be deleted.
*/
public Object getObject() {
return object;
}
public String getEntityName() {
return entityName;
}
public boolean isCascadeDeleteEnabled() {
return cascadeDeleteEnabled;
}
public boolean isOrphanRemovalBeforeUpdates() {
return orphanRemovalBeforeUpdates;
}
}