ee/src/main/java/org/jboss/as/ee/managedbean/processors/ManagedBeanAnnotationProcessor.java
private static boolean assertManagedBeanClassValidity(final ClassInfo managedBeanClass) {
        final short flags = managedBeanClass.flags();
        final String className = managedBeanClass.name().toString();
        // must *not* be an interface
        if (Modifier.isInterface(flags)) {
            ROOT_LOGGER.invalidManagedBeanInterface("MB.2.1.1", className);
            return false;
        }
        // bean class must *not* be abstract or final
        if (Modifier.isAbstract(flags) || Modifier.isFinal(flags)) {
            ROOT_LOGGER.invalidManagedBeanAbstractOrFinal("MB.2.1.1", className);
            return false;
        }
        // valid class
        return true;
    }
private static boolean assertManagedBeanClassValidity(final ClassInfo managedBeanClass) {
        final short flags = managedBeanClass.flags();
        final String className = managedBeanClass.name().toString();
        // must *not* be an interface
        if (Modifier.isInterface(flags)) {
            ROOT_LOGGER.invalidManagedBeanInterface("MB.2.1.1", className);
            return false;
        }
        // bean class must *not* be abstract or final
        if (Modifier.isAbstract(flags) || Modifier.isFinal(flags)) {
            ROOT_LOGGER.invalidManagedBeanAbstractOrFinal("MB.2.1.1", className);
            return false;
        }
        // valid class
        return true;
    }
private static boolean assertManagedBeanClassValidity ( final ClassInfo managedBeanClass ) { final short flags = managedBeanClass . flags ( ) ; final String className = managedBeanClass . name ( ) . toString ( ) ; // must *not* be an interface if ( Modifier . isInterface ( flags ) ) { ROOT_LOGGER . invalidManagedBeanInterface ( "MB.2.1.1" , className ) ; return false ; } // bean class must *not* be abstract or final if ( Modifier . isAbstract ( flags ) || Modifier . isFinal ( flags ) ) { ROOT_LOGGER . invalidManagedBeanAbstractOrFinal ( "MB.2.1.1" , className ) ; return false ; } // valid class return true ; }
Returns true if the passed <code>managedBeanClass</code> meets the requirements set by the Managed bean spec about
bean implementation classes. The passed <code>managedBeanClass</code> must not be an interface and must not be final or abstract.
If it passes these requirements then this method returns true. Else it returns false.

@param managedBeanClass The session bean class
@return
Returns true if the passed <code > managedBeanClass< / code > meets the requirements set by the Managed bean spec about bean implementation classes . The passed <code > managedBeanClass< / code > must not be an interface and must not be final or abstract . If it passes these requirements then this method returns true . Else it returns false .