Example usage for org.apache.commons.lang ClassUtils primitiveToWrapper

List of usage examples for org.apache.commons.lang ClassUtils primitiveToWrapper

Introduction

In this page you can find the example usage for org.apache.commons.lang ClassUtils primitiveToWrapper.

Prototype

public static Class<?> primitiveToWrapper(Class<?> cls) 

Source Link

Document

Converts the specified primitive Class object to its corresponding wrapper Class object.

NOTE: From v2.2, this method handles Void.TYPE, returning Void.TYPE.

Usage

From source file:com.evolveum.midpoint.web.component.assignment.ACAttributeValuePanel.java

private InputPanel createTypedInputComponent(String id, PrismPropertyDefinition definition) {
    QName valueType = definition.getTypeName();

    final String baseExpression = ACValueConstructionDto.F_VALUE;

    InputPanel panel;//from   w  ww. j  a  va  2  s  .  c  o m
    if (DOMUtil.XSD_DATETIME.equals(valueType)) {
        panel = new DatePanel(id, new PropertyModel<XMLGregorianCalendar>(getModel(), baseExpression));
    } else if (ProtectedStringType.COMPLEX_TYPE.equals(valueType)) {
        panel = new PasswordPanel(id, new PropertyModel<ProtectedStringType>(getModel(), baseExpression));
    } else if (DOMUtil.XSD_BOOLEAN.equals(valueType)) {
        panel = new TriStateComboPanel(id, new PropertyModel<Boolean>(getModel(), baseExpression));
    } else if (SchemaConstants.T_POLY_STRING_TYPE.equals(valueType)) {
        panel = new TextPanel<String>(id, new PropertyModel<String>(getModel(), baseExpression + ".orig"),
                String.class);
    } else {
        Class type = XsdTypeMapper.getXsdToJavaMapping(valueType);
        if (type != null && type.isPrimitive()) {
            type = ClassUtils.primitiveToWrapper(type);
        }
        panel = new TextPanel<String>(id, new PropertyModel<String>(getModel(), baseExpression), type);

        if (ObjectType.F_NAME.equals(definition.getName())) {
            panel.getBaseFormComponent().setRequired(true);
        }
    }

    return panel;
}

From source file:com.laxser.blitz.lama.core.UpdateOperation.java

private Object executeSignle(DataAccess dataAccess, Map<String, Object> parameters, Class<?> returnType) {

    if (returnGeneratedKeys) {
        return dataAccess.insertReturnId(sql, modifier, parameters);
    } else {/*from ww w . j  av  a2 s.co  m*/

        //  UPDATE / DELETE 
        int updated = dataAccess.update(sql, modifier, parameters);

        if (returnType == void.class) {
            return null;
        }

        // ?
        if (returnType.isPrimitive()) {
            returnType = ClassUtils.primitiveToWrapper(returnType);
        }

        // ?
        if (returnType == Integer.class) {
            return Integer.valueOf(updated);
        } else if (returnType == Long.class) {
            return Long.valueOf(updated);
        } else if (returnType == Boolean.class) {
            return Boolean.valueOf(updated > 0);
        } else if (returnType == Long.class) {
            return Long.valueOf(updated);
        } else if (returnType == Double.class) {
            return Double.valueOf(updated);
        } else if (returnType == Float.class) {
            return Float.valueOf(updated);
        } else if (Number.class.isAssignableFrom(returnType)) {
            return updated;
        }
    }

    return null; // 
}

From source file:net.paoding.rose.jade.core.UpdateOperation.java

private Object executeSignle(DataAccess dataAccess, Map<String, Object> parameters, Class<?> returnType) {

    // ID/*w w  w  .  j  av  a2s . c  om*/
    ReturnGeneratedKeys genKey = modifier.getAnnotation(ReturnGeneratedKeys.class);
    if (genKey != null) {
        //  INSERT ID
        Number number = dataAccess.insertReturnId(sql, modifier, parameters);

        return NumberUtil.convertNumberToTargetClass(number, returnType);
    }

    if (returnType == Identity.class) {
        //  INSERT ID
        Number number = dataAccess.insertReturnId(sql, modifier, parameters);

        // ?
        return new Identity(number);

    } else {

        //  UPDATE / DELETE 
        int updated = dataAccess.update(sql, modifier, parameters);

        // ?
        if (returnType.isPrimitive()) {
            returnType = ClassUtils.primitiveToWrapper(returnType);
        }

        // ?
        if (returnType == Boolean.class) {
            return Boolean.valueOf(updated > 0);
        } else if (returnType == Long.class) {
            return Long.valueOf(updated);
        } else if (returnType == Integer.class) {
            return Integer.valueOf(updated);
        }
    }

    return null; // 
}

From source file:com.sinosoft.one.data.jade.rowmapper.DefaultRowMapperFactory.java

public RowMapper getRowMapper(Class<?> rowType) {

    // BUGFIX: SingleColumnRowMapper ?  Primitive Type 
    if (rowType.isPrimitive()) {
        rowType = ClassUtils.primitiveToWrapper(rowType);
    }/*from w w w . j ava  2 s .co  m*/

    // ?  RowMapper
    RowMapper rowMapper;

    // ?(?2Map)
    if (TypeUtils.isColumnType(rowType)) {
        rowMapper = new SingleColumnRowMapper(rowType);
    }
    // Bean??????
    else {
        if (rowType == Map.class) {
            rowMapper = new ColumnMapRowMapper();
        } else if (rowType.isArray()) {
            rowMapper = new ArrayRowMapper(rowType);
        } else if ((rowType == List.class) || (rowType == Collection.class) || (rowType == Set.class)) {
            rowMapper = null;
        } else {
            boolean checkColumns = false;
            boolean checkProperties = false;
            String key = rowType.getName() + "[checkColumns=" + checkColumns + "&checkProperties="
                    + checkProperties + "]";
            rowMapper = rowMappers.get(key);
            if (rowMapper == null) {
                rowMapper = new BeanPropertyRowMapper(rowType, checkColumns, checkProperties); // jade's BeanPropertyRowMapper here
                rowMappers.put(key, rowMapper);
            }
        }
    }
    if (rowMapper == null) {
        throw new IllegalArgumentException();
    }
    return rowMapper;
}

From source file:com.evolveum.midpoint.repo.sql.query2.restriction.PropertyRestriction.java

private Object checkValueType(Object value, ValueFilter filter) throws QueryException {

    Class expectedType = linkDefinition.getTargetDefinition().getJaxbClass();
    if (expectedType == null || value == null) {
        return value; // nothing to check here
    }/*from  ww  w .j ava 2  s.c o m*/

    if (expectedType.isPrimitive()) {
        expectedType = ClassUtils.primitiveToWrapper(expectedType);
    }

    //todo remove after some time [lazyman]
    //attempt to fix value type for polystring (if it was string in filter we create polystring from it)
    if (PolyString.class.equals(expectedType) && (value instanceof String)) {
        LOGGER.debug("Trying to query PolyString value but filter contains String '{}'.", filter);
        value = new PolyString((String) value, (String) value);
    }
    //attempt to fix value type for polystring (if it was polystringtype in filter we create polystring from it)
    if (PolyString.class.equals(expectedType) && (value instanceof PolyStringType)) {
        LOGGER.debug("Trying to query PolyString value but filter contains PolyStringType '{}'.", filter);
        PolyStringType type = (PolyStringType) value;
        value = new PolyString(type.getOrig(), type.getNorm());
    }

    if (String.class.equals(expectedType) && (value instanceof QName)) {
        //eg. shadow/objectClass
        value = RUtil.qnameToString((QName) value);
    }

    if (!expectedType.isAssignableFrom(value.getClass())) {
        throw new QueryException("Value should be type of '" + expectedType + "' but it's '" + value.getClass()
                + "', filter '" + filter + "'.");
    }
    return value;
}

From source file:com.agimatec.validation.jsr303.extensions.MethodValidatorMetaBeanFactory.java

private void processAnnotation(Annotation annotation, Class paramType, AppendValidation validations)
        throws InvocationTargetException, IllegalAccessException {

    Constraint vcAnno = annotation.annotationType().getAnnotation(Constraint.class);
    if (vcAnno != null) {
        Class<? extends ConstraintValidator<?, ?>>[] validatorClasses;
        validatorClasses = findConstraintValidatorClasses(annotation, vcAnno);
        applyConstraint(annotation, validatorClasses, null, ClassUtils.primitiveToWrapper(paramType), null,
                validations);//from   www  . j  ava2  s.  c  om
    } else {
        /**
         * Multi-valued constraints
         */
        Object result = SecureActions.getAnnotationValue(annotation, ANNOTATION_VALUE);
        if (result != null && result instanceof Annotation[]) {
            for (Annotation each : (Annotation[]) result) {
                processAnnotation(each, ClassUtils.primitiveToWrapper(paramType), validations); // recursion
            }
        }
    }
}

From source file:com.evolveum.midpoint.prism.marshaller.BeanUnmarshaller.java

/**
 * TODO: decide if this method should be marked @NotNull.
 * Basically the problem is with primitives. When parsed, they sometimes return null. The question is if it's correct.
 *//*from ww  w  . java 2s .c  om*/
<T> T unmarshal(@NotNull XNode xnode, @NotNull Class<T> beanClass, @NotNull ParsingContext pc)
        throws SchemaException {
    T value = unmarshalInternal(xnode, beanClass, pc);
    if (PrismContextImpl.isExtraValidation() && value != null) {
        Class<?> requested = ClassUtils.primitiveToWrapper(beanClass);
        Class<?> actual = ClassUtils.primitiveToWrapper(value.getClass());
        if (!requested.isAssignableFrom(actual)) {
            throw new AssertionError("Postcondition fail: unmarshal returned a value of " + value + " ("
                    + actual + ") which is not of requested type (" + requested + ")");
        }
    }
    return value;
}

From source file:com.expressui.core.util.ReflectionUtil.java

/**
 * Converts object value to given type. Converts primitives to their wrappers.
 * Converts strings to numbers.// ww w.  ja va2s.co  m
 *
 * @param value value to convert
 * @param type  type to convert to
 * @param <T>   type
 * @return converted value
 * @throws InvocationTargetException
 * @throws IllegalAccessException
 * @throws InstantiationException
 * @throws NoSuchMethodException
 */
public static <T> T convertValue(Object value, Class<T> type) throws InvocationTargetException,
        IllegalAccessException, InstantiationException, NoSuchMethodException {
    Class clazz;
    if (type.isPrimitive()) {
        clazz = ClassUtils.primitiveToWrapper(type);
    } else {
        clazz = type;
    }

    if (null == value || clazz.isAssignableFrom(value.getClass())) {
        return (T) value;
    }

    Constructor<T> constructor = clazz.getConstructor(new Class[] { String.class });

    return constructor.newInstance(value.toString());
}

From source file:com.expressui.core.util.ReflectionUtil.java

/**
 * Asks if given type is a number type./*  w ww. ja  v  a 2  s . co  m*/
 *
 * @param type type to check
 * @return true if a number
 */
public static boolean isNumberType(Class type) {
    Class clazz;
    if (type.isPrimitive()) {
        clazz = ClassUtils.primitiveToWrapper(type);
    } else {
        clazz = type;
    }

    return Number.class.isAssignableFrom(clazz);
}

From source file:com.expressui.core.util.ReflectionUtil.java

/**
 * Asks if given type is a boolean type.
 *
 * @param type type to check//ww w .j  a  va2  s. c om
 * @return true if a boolean
 */
public static boolean isBooleanType(Class type) {
    Class clazz;
    if (type.isPrimitive()) {
        clazz = ClassUtils.primitiveToWrapper(type);
    } else {
        clazz = type;
    }

    return Boolean.class.isAssignableFrom(clazz);
}