net.intelli_soft.servlext.helpers.NamedParameter.java Source code

Java tutorial

Introduction

Here is the source code for net.intelli_soft.servlext.helpers.NamedParameter.java

Source

/*
 * Here comes the text of your license
 * Each line should be prefixed with  * 
 */

package net.intelli_soft.servlext.helpers;

import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;

/**
 * Wrapper for a map entry in which key and value are Strings, used for database query construction.
 * @author Martin
 */
public class NamedParameter {
    private final String paramName;
    private final String value;

    // TODO: fare un test che verifichi il matching dei parametri nelle stringhe sql
    public final static Pattern PATTERN = Pattern.compile(":([a-zA-Z0-9_]+)"); // defines the correct format of a named parameter inside a query string
    private final static Pattern NAME_PATTERN = Pattern.compile("^[a-zA-Z0-9_]+$"); // defines the correct format of the parameter name

    public NamedParameter(String paramName, String value) {
        if (StringUtils.isEmpty(paramName))
            throw new IllegalArgumentException("paramName cannot be empty");

        if (!NAME_PATTERN.matcher(paramName).find())
            throw new IllegalArgumentException("paramName must match: " + NAME_PATTERN.pattern());

        if (value == null)
            value = "";

        this.paramName = paramName;
        this.value = value;
    }

    public String getParamName() {
        return paramName;
    }

    public String getValue() {
        return value;
    }
}