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

com.exasol.errorcodecrawlermavenplugin.crawler.DirectParameterReader Maven / Gradle / Ivy

package com.exasol.errorcodecrawlermavenplugin.crawler;

import com.exasol.errorreporting.Placeholder;
import com.exasol.errorreporting.PlaceholderMatcher;
import com.exsol.errorcodemodel.ErrorMessageDeclaration;

/**
 * Reader inline parameters from messages.
 */
class DirectParameterReader {

    /**
     * Read the inline parameters from messages.
     * 
     * @param inlineParameterArgumentsCount count of arguments used for inline parameters
     * @param text                          text containing the placeholders
     * @param errorCodeBuilder              {@link ErrorMessageDeclaration.Builder} to append the parameters to
     */
    public void readInlineParameters(final int inlineParameterArgumentsCount, final String text,
            final ErrorMessageDeclaration.Builder errorCodeBuilder) {
        if (inlineParameterArgumentsCount > 0) {
            final Iterable placeholders = PlaceholderMatcher.findPlaceholders(text);
            var placeholderCounter = 0;
            for (final Placeholder placeholder : placeholders) {
                if (placeholderCounter >= inlineParameterArgumentsCount) {
                    break; // there is not argument for this placeholder
                }
                errorCodeBuilder.addParameter(placeholder.getReference(), null);
                placeholderCounter++;
            }
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy