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

org.simpleflatmapper.jdbc.spring.SqlParameterSourceImpl Maven / Gradle / Ivy

There is a newer version: 9.0.2
Show newest version
package org.simpleflatmapper.jdbc.spring;

import org.springframework.jdbc.core.namedparam.SqlParameterSource;

public final class SqlParameterSourceImpl implements SqlParameterSource {
    private final PlaceHolderValueGetterSource parameters;
    private final T instance;

    public SqlParameterSourceImpl(PlaceHolderValueGetterSource parameters, T instance) {
        this.parameters = parameters;
        this.instance = instance;
    }

    @Override
    public boolean hasValue(String column) {
        PlaceHolderValueGetter placeHolderValueGetter = parameters.getPlaceHolderValueGetter(column);
        return placeHolderValueGetter != null && placeHolderValueGetter.hasGetter();
    }

    @Override
    public Object getValue(String column) throws IllegalArgumentException {
        PlaceHolderValueGetter parameter = parameters.getPlaceHolderValueGetter(column);
        if (parameter != null) {
            return parameter.getValue(instance );
        } else {
            throw new IllegalArgumentException("No value for property " + column);
        }
    }

    @Override
    public int getSqlType(String column) {
        PlaceHolderValueGetter parameter = parameters.getPlaceHolderValueGetter(column);
        if (parameter != null) {
            return parameter.getSqlType();
        } else {
            return TYPE_UNKNOWN;
        }
    }

    @Override
    public String getTypeName(String column) {
        PlaceHolderValueGetter parameter = parameters.getPlaceHolderValueGetter(column);
        if (parameter != null) {
            return parameter.getTypeName();
        } else {
            return null;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy