1 package org.imageconverter.infra.exception;
2
3 import org.apache.commons.lang3.ArrayUtils;
4
5 /**
6 * Element already exists exception.
7 *
8 * @author Fernando Romulo da Silva
9 */
10 public class ElementAlreadyExistsException extends ElementConflictException {
11
12 private static final long serialVersionUID = 1L;
13
14 /**
15 * Constructs a new ElementAlreadyExistsException exception and create detail message regard of parameters. </br>
16 * For instance for Person object with id 10: </br>
17 * "Person with id '10' already exists"
18 *
19 * @param <T> The class type
20 * @param cls Class element
21 * @param id Object id that repeated
22 */
23 public <T> ElementAlreadyExistsException(final Class<T> cls, final Object id) {
24 super("{exception.elementIdAlreadyExists}", cls.getSimpleName(), id); //
25 }
26
27 /**
28 * Constructs a new ElementAlreadyExistsException exception and create detail message regard of parameters. </br>
29 * The exception detail msg will be: cls.getSimpleName() + " with " + msg + " already exists". </br>
30 * For instance for Person object and msg equals to "id '10' and name 'Fernando'": </br>
31 * "Person with id '10' and name 'Fernando' already exists"
32 *
33 * @param <T> The class type
34 * @param cls Class element
35 * @param msg The specific message
36 */
37 public <T> ElementAlreadyExistsException(final Class<T> cls, final Object[] params) {
38 super("{exception.elementFieldsAlreadyExists}", ArrayUtils.addAll(new Object[] { cls.getSimpleName() }, params));
39 }
40 }