// Path: spring-influxdb-orm/src/main/java/com/vgerbot/orm/influxdb/utils/ReflectionUtils.java
// public class ReflectionUtils extends org.springframework.util.ReflectionUtils {
// 
// 	public static Class<?> getInterfaceGenericType(Class<?> clazz, int typeIndex) {
// 		Assert.notNull(clazz, "class is required");
// 		Assert.isTrue(typeIndex >= 0, "Negative index");
// 
// 		Type[] genericInterfaces = clazz.getGenericInterfaces();
// 		if (genericInterfaces == null || genericInterfaces.length < 1) {
// 			return null;
// 		}
// 
// 		ParameterizedType pType = (ParameterizedType) genericInterfaces[0];
// 		Type[] actualTypeArguments = pType.getActualTypeArguments();
// 		if (actualTypeArguments == null || actualTypeArguments.length < 1) {
// 			return null;
// 		}
// 
// 		return (Class<?>) actualTypeArguments[typeIndex];
// 	}
// }


import com.vgerbot.orm.influxdb.utils.ReflectionUtils;
package com.vgerbot.orm.influxdb.binding;


public class MapperInterface {
	private final Class<?> interfaceClass;
	private final Class<?> measurementClass;

	public MapperInterface(Class<?> interfaceClass) {
		super();
		this.interfaceClass = interfaceClass;
// Path: spring-influxdb-orm/src/main/java/com/vgerbot/orm/influxdb/utils/ReflectionUtils.java
// public class ReflectionUtils extends org.springframework.util.ReflectionUtils {
// 
// 	public static Class<?> getInterfaceGenericType(Class<?> clazz, int typeIndex) {
// 		Assert.notNull(clazz, "class is required");
// 		Assert.isTrue(typeIndex >= 0, "Negative index");
// 
// 		Type[] genericInterfaces = clazz.getGenericInterfaces();
// 		if (genericInterfaces == null || genericInterfaces.length < 1) {
// 			return null;
// 		}
// 
// 		ParameterizedType pType = (ParameterizedType) genericInterfaces[0];
// 		Type[] actualTypeArguments = pType.getActualTypeArguments();
// 		if (actualTypeArguments == null || actualTypeArguments.length < 1) {
// 			return null;
// 		}
// 
// 		return (Class<?>) actualTypeArguments[typeIndex];
// 	}
// }


// Path: spring-influxdb-orm/src/main/java/com/vgerbot/orm/influxdb/binding/MapperInterface.java
import com.vgerbot.orm.influxdb.utils.ReflectionUtils;

package com.vgerbot.orm.influxdb.binding;


public class MapperInterface {
	private final Class<?> interfaceClass;
	private final Class<?> measurementClass;

	public MapperInterface(Class<?> interfaceClass) {
		super();
		this.interfaceClass = interfaceClass;
		this.measurementClass = (Class<?>) ReflectionUtils.getInterfaceGenericType(interfaceClass, 0);