Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package de.zalando.sprocwrapper.proxy;
 
 
 
 

Author(s):
jmussler
    protected String innerTypeName = null;
    public ArrayStoredProcedureParameter(final Class<?> clazzfinal Method mfinal String typeNamefinal int sqlType,
            final int javaPositionfinal boolean sensitive) {
        super(clazzmtypeNamesqlTypejavaPositionsensitive);
        if (typeName != null && typeName.endsWith("[]")) {
             = typeName.substring(0, typeName.length() - 2);
        } else if (typeName != null && !"".equals(typeName)) {
            throw new IllegalArgumentException("SprocService-Param: [" + clazz.getName() + ", " + m.getName()
                    + "] Provided typename must end with [] in case of list parameters: " + typeName);
        } else {
            final java.lang.reflect.Type parameterType = m.getGenericParameterTypes()[javaPosition];
            if (!(parameterType instanceof ParameterizedType)) {
                throw new IllegalArgumentException("SprocService-Param: [" + clazz.getName() + ", " + m.getName()
                        + "] Parameter must be of type Parametrized List<?> but is: " + parameterType.toString());
            } else {
                final ParameterizedType p = (ParameterizedTypeparameterType;
                final Class<?> paramsClass = (Class<?>) p.getActualTypeArguments()[0];
                 = PgTypeHelper.getSQLNameForClass(paramsClass);
                if ( == null) {
                    final DatabaseType dbType = paramsClass.getAnnotation(DatabaseType.class);
                    if (dbType != null) {
                         = dbType.name();
                    }
                    if ( == null || .isEmpty()) {
                         = NameUtils.camelCaseToUnderscore(paramsClass.getSimpleName());
                    }
                }
            }
        }
    }
    @Override
    public Object mapParam(final Object valuefinal Connection connection) {
        if (value == null) {
            return null;
        }
        Object result = value;
        result = PgArray.ARRAY((Collection<?>) value);
        if ( != null) {
            result = ((PgArray<?>) result).asJdbcArray(connection);
        }
        return result;
    }
New to GrepCode? Check out our FAQ X