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

下面列出了怎么用org.hibernate.type.PrimitiveType的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: 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 getMetadata().getMetadataBuildingOptions()
					.getServiceRegistry()
					.getService( ClassLoaderService.class )
					.classForName( elementClassName );
		}
		catch (ClassLoadingException e) {
			throw new MappingException( e );
		}
	}
}
 
源代码2 项目: 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);
		}
	}
}
 
源代码3 项目: 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() );
}
 
源代码4 项目: 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();
	Constructor constructor = null;
	int numberOfMatchingConstructors = 0;
	for ( final Constructor candidate : candidates ) {
		final Class[] params = candidate.getParameterTypes();
		if ( params.length == types.length ) {
			boolean found = true;
			for ( int j = 0; j < params.length; j++ ) {
				final boolean ok = types[j] == null || params[j].isAssignableFrom( types[j].getReturnedClass() ) || (
						types[j] instanceof PrimitiveType &&
								params[j] == ( (PrimitiveType) types[j] ).getPrimitiveClass()
				);
				if ( !ok ) {
					found = false;
					break;
				}
			}
			if ( found ) {
				numberOfMatchingConstructors ++;
				ensureAccessibility( candidate );
				constructor = candidate;
			}
		}
	}

	if ( numberOfMatchingConstructors == 1 ) {
		return constructor;
	}
	throw new PropertyNotFoundException( "no appropriate constructor in class: " + clazz.getName() );

}
 
源代码5 项目: 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" : String.join( ", ", params );
	return String.format(
			"Unable to locate appropriate constructor on class [%s]. Expected arguments are: %s",
			className, formattedList
	);
}
 
 类所在包
 同包方法