import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference;
/**
- *
* Thrown when there was inference error
- *
*/
public class InferenceException extends SourceException {
-
-
private static final long serialVersionUID = 1L;
- public InferenceException(@Nonnull String message, @Nonnull StatementSourceReference source, Throwable cause) {
+ public InferenceException(@Nonnull final String message, @Nonnull final StatementSourceReference source,
+ final Throwable cause) {
super(message, source, cause);
}
- public InferenceException(@Nonnull String message, @Nonnull StatementSourceReference source) {
+ public InferenceException(@Nonnull final String message, @Nonnull final StatementSourceReference source) {
super(message, source);
}
+ public InferenceException(@Nonnull final StatementSourceReference source, @Nonnull final String format,
+ final Object... args) {
+ this(String.format(format, args), source);
+ }
+
+ /**
+ * Throw an instance of this exception if an expression evaluates to true. If the expression evaluates to false,
+ * this method does nothing.
+ *
+ * @param expression Expression to be evaluated
+ * @param source Statement source reference
+ * @param format Format string, according to {@link String#format(String, Object...)}.
+ * @param args Format string arguments, according to {@link String#format(String, Object...)}
+ * @throws InferenceException if the expression evaluates to true.
+ */
+ public static void throwIf(final boolean expression, @Nonnull final StatementSourceReference source,
+ @Nonnull final String format, final Object... args) {
+ if (expression) {
+ throw new InferenceException(source, format, args);
+ }
+ }
}