package com.oguerreiro.resilient.service.interceptors;

import java.io.Serializable;

import com.oguerreiro.resilient.domain.AbstractResilientEntity;
import com.oguerreiro.resilient.service.dto.AbstractResilientDTO;

/**
 * Interceptor called BEFORE the domainRepository.save is called.
 * 
 * @param <DTO>
 * @param <T>
 * @param <ID>
 */
public interface BeforeSaveServiceInterceptor<DTO extends AbstractResilientDTO<ID>, T extends AbstractResilientEntity<T, ID>, ID extends Serializable> {
  T beforeSave(T domain);
}
