blob: acb10f97c7a7b8b7681facf65bab74d43764db23 [file] [log] [blame]
/*
* Copyright (c) 2014, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Marcel Valovy - 2.6 - initial implementation
package org.eclipse.persistence.exceptions;
import org.eclipse.persistence.exceptions.i18n.ExceptionMessageGenerator;
/**
* BeanValidationException should be used to represent any exception that happens during Bean Validation in MOXy.
*
* @author Marcel Valovy - marcel.valovy@oracle.com
* @since 2.6
*/
public final class BeanValidationException extends EclipseLinkException {
/* 7500-7519 reserved for runtime. */
public static final int PROVIDER_NOT_FOUND = 7500;
public static final int ILLEGAL_VALIDATION_MODE = 7501;
public static final int CONSTRAINT_VIOLATION = 7510;
/* 7520-7530 reserved for Schemagen. */
public static final int NOT_NULL_AND_NILLABLE = 7525;
/**
* INTERNAL:
* EclipseLink exceptions should only be thrown by EclipseLink.
*/
public BeanValidationException(String msg) {
super(msg);
}
/**
* INTERNAL:
* EclipseLink exceptions should only be thrown by EclipseLink.
*/
public BeanValidationException(String msg, Throwable internalException) {
super(msg, internalException);
}
/* Runtime. */
public static BeanValidationException constraintViolation(Object[] args, Throwable internalException) {
BeanValidationException bve = new BeanValidationException(ExceptionMessageGenerator.buildMessage
(BeanValidationException.class, CONSTRAINT_VIOLATION, args), internalException);
bve.setErrorCode(CONSTRAINT_VIOLATION);
return bve;
}
public static BeanValidationException providerNotFound(String prefix, Throwable internalException) {
BeanValidationException bve = new BeanValidationException(ExceptionMessageGenerator.buildMessage
(BeanValidationException.class, PROVIDER_NOT_FOUND, new Object[]{prefix}), internalException);
bve.setErrorCode(PROVIDER_NOT_FOUND);
return bve;
}
public static BeanValidationException illegalValidationMode(String prefix, String modeName) {
BeanValidationException bve = new BeanValidationException(ExceptionMessageGenerator.buildMessage
(BeanValidationException.class, ILLEGAL_VALIDATION_MODE, new Object[]{prefix, modeName}));
bve.setErrorCode(ILLEGAL_VALIDATION_MODE);
return bve;
}
/* SchemaGen. */
public static BeanValidationException notNullAndNillable(String propertyName) {
BeanValidationException bve = new BeanValidationException(ExceptionMessageGenerator.buildMessage
(BeanValidationException.class, NOT_NULL_AND_NILLABLE, new Object[]{propertyName}));
bve.setErrorCode(NOT_NULL_AND_NILLABLE);
return bve;
}
}