/*
* 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;
import java.io.Serializable;
import org.hibernate.persister.entity.EntityPersister;
Represents a pre-update event, which occurs just prior to
performing the update of an entity in the database.
Author: Gavin King, Steve Ebersole
/**
* Represents a <tt>pre-update</tt> event, which occurs just prior to
* performing the update of an entity in the database.
*
* @author Gavin King
* @author Steve Ebersole
*/
public class PreUpdateEvent extends AbstractPreDatabaseOperationEvent {
private Object[] state;
private Object[] oldState;
Constructs an event containing the pertinent information.
Params: - entity – The entity to be updated.
- id – The id of the entity to use for updating.
- state – The state to be updated.
- oldState – The state of the entity at the time it was loaded from
the database.
- persister – The entity's persister.
- source – The session from which the event originated.
/**
* Constructs an event containing the pertinent information.
*
* @param entity The entity to be updated.
* @param id The id of the entity to use for updating.
* @param state The state to be updated.
* @param oldState The state of the entity at the time it was loaded from
* the database.
* @param persister The entity's persister.
* @param source The session from which the event originated.
*/
public PreUpdateEvent(
Object entity,
Serializable id,
Object[] state,
Object[] oldState,
EntityPersister persister,
EventSource source) {
super( source, entity, id, persister );
this.state = state;
this.oldState = oldState;
}
Retrieves the state to be used in the update.
Returns: The current state.
/**
* Retrieves the state to be used in the update.
*
* @return The current state.
*/
public Object[] getState() {
return state;
}
The old state of the entity at the time it was last loaded from the
database; can be null in the case of detached entities.
Returns: The loaded state, or null.
/**
* The old state of the entity at the time it was last loaded from the
* database; can be null in the case of detached entities.
*
* @return The loaded state, or null.
*/
public Object[] getOldState() {
return oldState;
}
}