All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.ebean.event.BeanPersistRequest Maven / Gradle / Ivy

There is a newer version: 15.8.0
Show newest version
package io.ebean.event;

import io.ebean.Database;
import io.ebean.Transaction;
import io.ebean.ValuePair;

import java.util.Map;
import java.util.Set;

/**
 * Holds the information available for a bean persist (insert, update or
 * delete).
 * 

* This is made available for the BeanPersistControllers. *

*/ public interface BeanPersistRequest { /** * Return the DB processing the request. */ Database database(); /** * Return the Transaction associated with this request. */ Transaction transaction(); /** * Return true if this request is due to cascading persist. * False implies this is a "top level" request. */ boolean isCascade(); /** * For an update or delete of a partially populated bean this is the set of * loaded properties and otherwise returns null. */ Set loadedProperties(); /** * For an update this is the set of properties that where updated. *

* Note that hasDirtyProperty() is a more efficient check than this method and * should be preferred if it satisfies the requirement. *

*/ Set updatedProperties(); /** * Flags set for dirty properties (used by ElasticSearch integration). */ boolean[] dirtyProperties(); /** * Return true for an update request if at least one of dirty properties is contained * in the given set of property names. *

* This method will produce less GC compared with getUpdatedProperties() and should * be preferred if it satisfies the requirement. *

*

* Note that this method is used by the default ChangeLogFilter mechanism for when * the @ChangeLog updatesThatInclude attribute has been specified. *

* * @param propertyNames a set of property names which we are checking to see if at least * one of them is dirty. */ boolean hasDirtyProperty(Set propertyNames); /** * Returns the bean being inserted updated or deleted. */ T bean(); /** * Returns a map of the properties that have changed and their new and old values. */ Map updatedValues(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy