- @Nonnull
- CheckedFuture<PostCanCommitStep, DataValidationFailedException> canCommit(@Nonnull Object txId,
- @Nonnull DOMDataTreeCandidate candidate, @Nonnull SchemaContext ctx);
+ @NonNull FluentFuture<PostCanCommitStep> canCommit(@NonNull Object txId,
+ @NonNull SchemaContext ctx, @NonNull Collection<DOMDataTreeCandidate> candidates);
+
+ /**
+ * An ExceptionMapper that translates an Exception to a DataValidationFailedException.
+ */
+ class DataValidationFailedExceptionMapper extends ExceptionMapper<DataValidationFailedException> {
+ private final @NonNull DOMDataTreeIdentifier failedTreeId;
+
+ public DataValidationFailedExceptionMapper(final String opName, final DOMDataTreeIdentifier failedTreeId) {
+ super(opName, DataValidationFailedException.class);
+ this.failedTreeId = requireNonNull(failedTreeId);
+ }
+
+ @Override
+ protected DataValidationFailedException newWithCause(final String message, final Throwable cause) {
+ return new DataValidationFailedException(DOMDataTreeIdentifier.class, failedTreeId, message, cause);
+ }
+ }