Add entity lifercycle interceptor interface and add a entity listener.

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>
This commit is contained in:
SirWayne
2016-07-28 12:39:12 +02:00
parent a978662812
commit 7fa89d7d3c
5 changed files with 201 additions and 1 deletions

View File

@@ -0,0 +1,79 @@
/**
* Copyright (c) 2015 Bosch Software Innovations GmbH and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.eclipse.hawkbit.repository.model;
/**
* Interface for the entity interceptor lifecycle.
*/
public interface EntityInterceptor {
/**
* Callback for the {@link @PrePersist} lifecycle event.
*
* @param entity
* the model entity
*/
default void prePersist(final Object entity) {
};
/**
* Callback for the {@link @PostPersist} lifecycle event.
*
* @param entity
* the model entity
*/
default void postPersist(final Object entity) {
};
/**
* Callback for the {@link @PostRemove} lifecycle event.
*
* @param entity
* the model entity
*/
default void postRemove(final Object entity) {
};
/**
* Callback for the {@link @PreRemove} lifecycle event.
*
* @param entity
* the model entity
*/
default void preRemove(final Object entity) {
};
/**
* Callback for the {@link @PostLoad} lifecycle event.
*
* @param entity
* the model entity
*/
default void postLoad(final Object entity) {
};
/**
* Callback for the {@link @PreUpdate} lifecycle event.
*
* @param entity
* the model entity
*/
default void preUpdate(final Object entity) {
};
/**
* Callback for the {@link @PostUpdate} lifecycle event.
*
* @param entity
* the model entity
*/
default void postUpdate(final Object entity) {
};
}