/* * Copyright 2001-2008 Geert Bevin (gbevin[remove] at uwyn dot com) * Licensed under the Apache License, Version 2.0 (the "License") * $Id: GenericTypeDetector.java 3918 2008-04-14 17:35:35Z gbevin $ */ package com.uwyn.rife.database.querymanagers.generic; import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; abstract class GenericTypeDetector { static Class detectAssociatedClass(Method readMethod) { Class associated_class = null; Type generic_return_type = readMethod.getGenericReturnType(); if (generic_return_type instanceof ParameterizedType) { Type[] type_args = ((ParameterizedType)generic_return_type).getActualTypeArguments(); associated_class = (Class)type_args[0]; } return associated_class; } }