Fix a javadoc typo
[yangtools.git] / yang / yang-parser-spi / src / main / java / org / opendaylight / yangtools / yang / parser / spi / meta / InferenceException.java
index 35f49d0ee8b68b2e29dd510c5a0a4639c5aa44e7..091eb5b1f93f231c6601851cb1491fa48325e93a 100644 (file)
@@ -17,20 +17,33 @@ import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReferenc
 public class InferenceException extends SourceException {
     private static final long serialVersionUID = 1L;
 
+    public InferenceException(final @NonNull String message, final @NonNull StatementSourceReference source) {
+        super(message, source);
+    }
+
     public InferenceException(final @NonNull String message, final @NonNull StatementSourceReference source,
             final Throwable cause) {
         super(message, source, cause);
     }
 
-    public InferenceException(final @NonNull String message, final @NonNull StatementSourceReference source) {
-        super(message, source);
-    }
-
     public InferenceException(final @NonNull StatementSourceReference source, final @NonNull String format,
             final Object... args) {
         this(String.format(format, args), source);
     }
 
+    public InferenceException(final @NonNull String message, final @NonNull CommonStmtCtx stmt) {
+        super(message, stmt);
+    }
+
+    public InferenceException(final @NonNull String message, final @NonNull CommonStmtCtx stmt, final Throwable cause) {
+        super(message, stmt, cause);
+    }
+
+    public InferenceException(final @NonNull CommonStmtCtx stmt, final @NonNull String format,
+            final Object... args) {
+        this(stmt.sourceReference(), format, args);
+    }
+
     /**
      * Throw an instance of this exception if an expression evaluates to true. If the expression evaluates to false,
      * this method does nothing.
@@ -47,4 +60,21 @@ public class InferenceException extends SourceException {
             throw new InferenceException(source, format, args);
         }
     }
+
+    /**
+     * 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 stmt Statement context
+     * @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, final @NonNull CommonStmtCtx stmt,
+            final @NonNull String format, final Object... args) {
+        if (expression) {
+            throw new InferenceException(stmt.sourceReference(), format, args);
+        }
+    }
 }