FileDocCategorySizeDatePackage
EjbClassModifiersFinal.javaAPI DocGlassfish v2 API4095Fri May 04 22:33:32 BST 2007com.sun.enterprise.tools.verifier.tests.ejb.beanclass

EjbClassModifiersFinal

public class EjbClassModifiersFinal extends com.sun.enterprise.tools.verifier.tests.ejb.EjbTest
Enterprise Java Bean class modifiers test. The class must not be final.

Fields Summary
Constructors Summary
Methods Summary
public com.sun.enterprise.tools.verifier.Resultcheck(com.sun.enterprise.deployment.EjbDescriptor descriptor)
Enterprise Java Bean class modifiers test. The class must not be final.

param
descriptor the Enterprise Java Bean deployment descriptor
return
Result the results for this assertion


	Result result = getInitializedResult();
	ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();

        Class c = loadEjbClass(descriptor, result);
        if (c!=null) {
            boolean isFinal = false;
            int modifiers = c.getModifiers();
            if (Modifier.isFinal(modifiers)) {
                isFinal = true;
            }

            if (!isFinal) {
		result.addGoodDetails(smh.getLocalString
				      ("tests.componentNameConstructor",
				       "For [ {0} ]",
				       new Object[] {compName.toString()}));
                result.passed(smh.getLocalString
                    (getClass().getName() + ".passed",
                    "[ {0} ] properly declares non-final class modifier.",
                    new Object[] {descriptor.getEjbClassName()}));
            } else if (isFinal) {
		result.addErrorDetails(smh.getLocalString
				       ("tests.componentNameConstructor",
					"For [ {0} ]",
					new Object[] {compName.toString()}));
                result.failed(smh.getLocalString
                    (getClass().getName() + ".failed",
                    "Error: Ejb Class [ {0} ] was found, but was declared as final.  The class  [ {1} ] must not be defined as final.",
                    new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
            }
        }
        return result;