All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.mule.extension.validation.internal.ImmutableMultipleValidationResult Maven / Gradle / Ivy

/*
 * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
 * The software in this package is published under the terms of the CPAL v1.0
 * license, a copy of which has been included with this distribution in the
 * LICENSE.txt file.
 */
package org.mule.extension.validation.internal;

import org.mule.extension.validation.api.MultipleValidationResult;
import org.mule.extension.validation.api.ValidationResult;

import com.google.common.collect.ImmutableList;

import java.util.List;

/**
 * A immutable implementation of {@link MultipleValidationResult}.
 * 

* Instances are to be created using the {@link #of(Iterable)} factory method * * @since 3.7.0 */ public final class ImmutableMultipleValidationResult implements MultipleValidationResult { private final List failedResults; private final boolean error; private final String message; /** * A {@link Iterable} with all the {@link ValidationResult} that were generated * together, both failed and successful alike. * * @param results the obtained {@link ValidationResult} objects * @return a {@link MultipleValidationResult} */ public static MultipleValidationResult of(Iterable results) { ImmutableList.Builder failedResultsBuilder = ImmutableList.builder(); StringBuilder message = new StringBuilder(); boolean error = false; for (ValidationResult result : results) { if (result.isError()) { failedResultsBuilder.add(result); if (message.length() > 0) { message.append('\n'); } message.append(result.getMessage()); error = true; } } return new ImmutableMultipleValidationResult(failedResultsBuilder.build(), error, message.toString()); } private ImmutableMultipleValidationResult(List failedResults, boolean error, String message) { this.failedResults = failedResults; this.error = error; this.message = message; } /** * {@inheritDoc} */ @Override public boolean isError() { return error; } /** * {@inheritDoc} */ @Override public String getMessage() { return message; } /** * {@inheritDoc} */ public List getFailedValidationResults() { return failedResults; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy