Search in sources :

Example 1 with Type

use of com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type in project Payara by payara.

the class ParameterTable method getParameterInfoForParamName.

/**
 * Returns the parameter info for the specified parameter name
 * and associated field.
 * If the associated field is not known, then null is used as
 * input parameter.
 * @param paramName
 * @param associatedField
 * @return corresponding parameterInfo
 */
public ParameterInfo getParameterInfoForParamName(String paramName, String associatedField) {
    int index = names.indexOf(paramName);
    Type type = (Type) types.get(index);
    return new ParameterInfo(index, type.getEnumType(), associatedField);
}
Also used : Type(com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type) WrapperClassType(com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.WrapperClassType) DateType(com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.DateType) StringType(com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.StringType) MathType(com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.MathType) PrimitiveType(com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.PrimitiveType) ParameterInfo(com.sun.jdo.spi.persistence.utility.ParameterInfo)

Example 2 with Type

use of com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type in project Payara by payara.

the class ParameterTable method defineValueByIndex.

/**
 */
private void defineValueByIndex(int index, Object value) {
    // index < 0 => implementation error
    if (index < 0)
        throw new JDOFatalInternalException(I18NHelper.getMessage(messages, // NOI18N
        "jqlc.parametertable.definevaluebyindex.wrongindex", String.valueOf(index)));
    // index > type.size => too many actual parameters
    if (index >= types.size())
        throw new JDOQueryException(// NOI18N
        I18NHelper.getMessage(messages, "jqlc.parametertable.definevaluebyindex.wrongnumberofargs"));
    // check type compatibility of actual and formal parameter
    Class formalType = ((Type) types.get(index)).getJavaClass();
    if (!isCompatibleValue(formalType, value)) {
        String actualTypeName = ((value == null) ? "<type of null>" : value.getClass().getName());
        throw new JDOQueryException(// NOI18N
        I18NHelper.getMessage(// NOI18N
        messages, // NOI18N
        "jqlc.parametertable.definevaluebyindex.typemismatch", actualTypeName, formalType.getName()));
    }
    // everything is ok => set the actual parameters's value
    values.set(index, value);
}
Also used : JDOFatalInternalException(com.sun.jdo.api.persistence.support.JDOFatalInternalException) Type(com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type) WrapperClassType(com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.WrapperClassType) DateType(com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.DateType) StringType(com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.StringType) MathType(com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.MathType) PrimitiveType(com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.PrimitiveType) JDOQueryException(com.sun.jdo.api.persistence.support.JDOQueryException)

Aggregations

DateType (com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.DateType)2 MathType (com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.MathType)2 PrimitiveType (com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.PrimitiveType)2 StringType (com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.StringType)2 Type (com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.Type)2 WrapperClassType (com.sun.jdo.spi.persistence.support.sqlstore.query.util.type.WrapperClassType)2 JDOFatalInternalException (com.sun.jdo.api.persistence.support.JDOFatalInternalException)1 JDOQueryException (com.sun.jdo.api.persistence.support.JDOQueryException)1 ParameterInfo (com.sun.jdo.spi.persistence.utility.ParameterInfo)1