public static boolean isBindable(Class<?> subClass) {
        return !subClass.isInterface() && !Modifier.isAbstract(
                subClass.getModifiers()) && subClass.getTypeParameters().length == 0;
    }
public static boolean isBindable ( Class < ? > subClass ) { return ! subClass . isInterface ( ) && ! Modifier . isAbstract ( subClass . getModifiers ( ) ) && subClass . getTypeParameters ( ) . length == 0 ; }
Checks if the class is not an interface, an abstract class or a class with unresolved generics.

@param subClass the class to check
@return true if the class verify the condition, false otherwise