Java 类org.hibernate.type.PrimitiveType 实例源码

项目:lams    文件:Array.java   
public Class getElementClass() throws MappingException {
    if (elementClassName==null) {
        org.hibernate.type.Type elementType = getElement().getType();
        return isPrimitiveArray() ?
            ( (PrimitiveType) elementType ).getPrimitiveClass() :
            elementType.getReturnedClass();
    }
    else {
        try {
            return ReflectHelper.classForName(elementClassName);
        }
        catch (ClassNotFoundException cnfe) {
            throw new MappingException(cnfe);
        }
    }
}
项目:lams    文件:ReflectHelper.java   
/**
 * Retrieve a constructor for the given class, with arguments matching the specified Hibernate mapping
 * {@link Type types}.
 *
 * @param clazz The class needing instantiation
 * @param types The types representing the required ctor param signature
 * @return The matching constructor.
 * @throws PropertyNotFoundException Indicates we could not locate an appropriate constructor (todo : again with PropertyNotFoundException???)
 */
public static Constructor getConstructor(Class clazz, Type[] types) throws PropertyNotFoundException {
    final Constructor[] candidates = clazz.getConstructors();
    for ( int i = 0; i < candidates.length; i++ ) {
        final Constructor constructor = candidates[i];
        final Class[] params = constructor.getParameterTypes();
        if ( params.length == types.length ) {
            boolean found = true;
            for ( int j = 0; j < params.length; j++ ) {
                final boolean ok = params[j].isAssignableFrom( types[j].getReturnedClass() ) || (
                        types[j] instanceof PrimitiveType &&
                                params[j] == ( ( PrimitiveType ) types[j] ).getPrimitiveClass()
                );
                if ( !ok ) {
                    found = false;
                    break;
                }
            }
            if ( found ) {
                constructor.setAccessible( true );
                return constructor;
            }
        }
    }
    throw new PropertyNotFoundException( "no appropriate constructor in class: " + clazz.getName() );
}
项目:cacheonix-core    文件:Array.java   
public Class getElementClass() throws MappingException {
    if (elementClassName==null) {
        org.hibernate.type.Type elementType = getElement().getType();
        return isPrimitiveArray() ?
            ( (PrimitiveType) elementType ).getPrimitiveClass() :
            elementType.getReturnedClass();
    }
    else {
        try {
            return ReflectHelper.classForName(elementClassName);
        }
        catch (ClassNotFoundException cnfe) {
            throw new MappingException(cnfe);
        }
    }
}
项目:cacheonix-core    文件:ReflectHelper.java   
public static Constructor getConstructor(Class clazz, Type[] types) throws PropertyNotFoundException {
    final Constructor[] candidates = clazz.getConstructors();
    for ( int i=0; i<candidates.length; i++ ) {
        final Constructor constructor = candidates[i];
        final Class[] params = constructor.getParameterTypes();
        if ( params.length==types.length ) {
            boolean found = true;
            for ( int j=0; j<params.length; j++ ) {
                final boolean ok = params[j].isAssignableFrom( types[j].getReturnedClass() ) || (
                    types[j] instanceof PrimitiveType &&
                    params[j] == ( (PrimitiveType) types[j] ).getPrimitiveClass()
                );
                if (!ok) {
                    found = false;
                    break;
                }
            }
            if (found) {
                if ( !isPublic(clazz, constructor) ) constructor.setAccessible(true);
                return constructor;
            }
        }
    }
    throw new PropertyNotFoundException( "no appropriate constructor in class: " + clazz.getName() );
}
项目:lams    文件:ConstructorNode.java   
private String formatMissingContructorExceptionMessage(String className) {
    String[] params = new String[constructorArgumentTypes.length];
    for ( int j = 0; j < constructorArgumentTypes.length; j++ ) {
        params[j] = constructorArgumentTypes[j] instanceof PrimitiveType
                ? ( (PrimitiveType) constructorArgumentTypes[j] ).getPrimitiveClass().getName()
                : constructorArgumentTypes[j].getReturnedClass().getName();
    }
    String formattedList = params.length == 0 ? "no arguments constructor" : StringHelper.join( ", ", params );
    return String.format(
            "Unable to locate appropriate constructor on class [%s]. Expected arguments are: %s",
            className, formattedList
    );
}
项目:spring-dynamic    文件:ReflectHelper.java   
/**
 * Retrieve a constructor for the given class, with arguments matching the specified Hibernate mapping
 * {@link Type types}.
 *
 * @param clazz The class needing instantiation
 * @param types The types representing the required ctor param signature
 * @return The matching constructor.
 * @throws PropertyNotFoundException Indicates we could not locate an appropriate constructor (todo : again with PropertyNotFoundException???)
 */
public static Constructor getConstructor(Class clazz, Type[] types) throws PropertyNotFoundException {
    final Constructor[] candidates = clazz.getConstructors();
    for ( int i = 0; i < candidates.length; i++ ) {
        final Constructor constructor = candidates[i];
        final Class[] params = constructor.getParameterTypes();
        if ( params.length == types.length ) {
            boolean found = true;
            for ( int j = 0; j < params.length; j++ ) {
                final boolean ok = params[j].isAssignableFrom( types[j].getReturnedClass() ) || (
                        types[j] instanceof PrimitiveType &&
                                params[j] == ( ( PrimitiveType ) types[j] ).getPrimitiveClass()
                );
                if ( !ok ) {
                    found = false;
                    break;
                }
            }
            if ( found ) {
                if ( !isPublic( clazz, constructor ) ) {
                    constructor.setAccessible( true );
                }
                return constructor;
            }
        }
    }
    throw new PropertyNotFoundException( "no appropriate constructor in class: " + clazz.getName() );
}