# Checks for J2EE coding problems |

## EntityBean #### Description Checks that a direct entity bean, i.e. a class that directly implements javax.ejb.EntityBean, satisfies these class requirements: The class is defined as public. The class cannot be defined as final. It contains a public constructor with no parameters. It must not define the finalize method. Checks that methods of a direct entity bean satisfy these requirements: All ejbCreate<METHOD>(...) methods are public, not final, and not static. The return type of all ejbCreate<METHOD>(...) methods is not void, because the return type must be the entity bean's primary key type. All ejbPostCreate<METHOD>(...) methods are public, not final, and not static. The return type of all ejbPostCreate<METHOD>(...) methods is void. For each ejbCreate<METHOD>(...) method there is a matching ejbPostCreate<METHOD>(...) method. All ejbHome<METHOD>(...) methods are public, and not static. The throws clause of all ejbHome<METHOD>(...) methods does not define the java.rmi.RemoteException. When the check is configured to check direct entity beans as having bean-managed persistence, checks that methods satisfy these additional requirements: All ejbFind<METHOD>(...) methods are public, not final, and not static. The return type of all ejbFind<METHOD>(...) methods is not void, because the return type must be the entity bean's primary key type, or a collection of primary keys. There is a ejbFindByPrimaryKey method with one parameter. When the check is configured to check direct entity beans as having container-managed persistence, checks that methods satisfy these additional requirements: The throws clause of all ejbCreate<METHOD>(...) methods defines the javax.ejb.CreateException. All ejbSelect<METHOD>(...) methods are public and abstract. The throws clause of all ejbSelect<METHOD>(...) methods defines the javax.ejb.FinderException. #### Properties
name | description | type | default value
--- | --- | --- | ---
persistence | type of persistence management | persistence policy | mixed
Reference: Enterprise JavaBeans™ Specification,Version 2.0, sections 10.6 and 12.2. #### Example To configure the check:
    <module name="j2ee.EntityBean"/>
To configure the check to apply the container policy to direct entity beans:
    <module name="j2ee.EntityBean">
        <property name="persistence" value="container"/>
    </module>
#### Package com.puppycrawl.tools.checkstyle.checks.j2ee #### Parent Module TreeWalker ## FinalStatic #### Description Checks that all static fields are declared final. Rational: This check ensures consistent runtime semantics so that EJB containers have the flexibility to distribute instances across multiple JVMs. Reference: Programming restrictions on EJB. #### Example To configure the check:
    <module name="j2ee.FinalStatic"/>
#### Package com.puppycrawl.tools.checkstyle.checks.j2ee #### Parent Module TreeWalker ## LocalHomeInterface #### Description Checks that a direct local home interface, i.e. an interface that directly extends javax.ejb.EJBLocalHome, satisfies these requirements: The return type of all create<METHOD>(...) methods is not void, because the return type must be the bean's local interface. The throws clause of all create<METHOD>(...) methods defines the javax.ejb.CreateException. The throws clause of all methods does not define the java.rmi.RemoteException. Reference: Enterprise JavaBeansTM Specification,Version 2.0, sections 6.4 and 9.6. #### Example To configure the check:
    <module name="j2ee.LocalHomeInterface"/>
#### Package com.puppycrawl.tools.checkstyle.checks.j2ee #### Parent Module TreeWalker ## LocalInterface #### Description Checks that a direct local interface, i.e. an interface that directly extends javax.ejb.EJBLocalObject, satisfies these requirements: The throws clause of all methods does not define the java.rmi.RemoteException. Reference: Enterprise JavaBeansTM Specification,Version 2.0, section 9.10. #### Example To configure the check:
    <module name="j2ee.LocalInterface"/>
#### Package com.puppycrawl.tools.checkstyle.checks.j2ee #### Parent Module TreeWalker ## MessageBean #### Description Checks that a direct message bean, i.e. a class that directly implements javax.ejb.MessageDrivenBean and javax.jms.MessageListener, satisfies these class requirements: The class is defined as public. The class cannot be defined as final. The class cannot be defined as abstract. It contains a public constructor with no parameters. It must not define the finalize method. It defines an ejbCreate() method this is public, not final, not static, has no parameters, and has return type void. Reference: Enterprise JavaBeans™ Specification,Version 2.0, section 15.7. #### Example To configure the check:
    <module name="j2ee.MessageBean"/>
#### Package com.puppycrawl.tools.checkstyle.checks.j2ee #### Parent Module TreeWalker ## RemoteHomeInterface #### Description Checks that a direct remote home interface, i.e. an interface that directly extends javax.ejb.EJBHome, satisfies these requirements: The return type of all create<METHOD>(...) methods is not void, because the return type must be the bean's remote interface. The throws clause of all create<METHOD>(...) methods defines the javax.ejb.CreateException. The throws clause of all methods defines the java.rmi.RemoteException. Reference: Enterprise JavaBeansTM Specification,Version 2.0, sections 6.3 and 9.5. #### Example To configure the check:
    <module name="j2ee.RemoteHomeInterface"/>
#### Package com.puppycrawl.tools.checkstyle.checks.j2ee #### Parent Module TreeWalker ## RemoteInterface #### Description Checks that a direct remote interface, i.e. an interface that directly extends javax.ejb.EJBObject, satisfies these requirements: The throws clause of all methods defines the java.rmi.RemoteException. Reference: Enterprise JavaBeansTM Specification,Version 2.0, section 9.9. #### Example To configure the check:
    <module name="j2ee.RemoteInterface"/>
#### Package com.puppycrawl.tools.checkstyle.checks.j2ee #### Parent Module TreeWalker ## SessionBean #### Description Checks that a direct session bean, i.e. a class that directly implements javax.ejb.SessionBean, satisfies these class requirements: The class is defined as public. The class cannot be defined as final. The class cannot be defined as abstract. It contains a public constructor with no parameters. It must not define the finalize method. It defines an ejbCreate<METHOD>() method this is public, not final, not static, and has return type void. Reference: Enterprise JavaBeans™ Specification,Version 2.0, section 7.10. #### Example To configure the check:
    <module name="j2ee.SessionBean"/>
#### Package com.puppycrawl.tools.checkstyle.checks.j2ee #### Parent Module TreeWalker ## ThisParameter #### Description Checks that this is not a parameter of any method calls or constructors for a bean. Instead, you must use the result of the getEJBObject() available in SessionContext or EntityContext. Reference: Programming restrictions on EJB. #### Example To configure the check:
    <module name="j2ee.ThisParameter"/>
#### Package com.puppycrawl.tools.checkstyle.checks.j2ee #### Parent Module TreeWalker ## ThisReturn #### Description Checks that this is not returned by a bean method. Instead, you must use the result of the getEJBObject() available in SessionContext or EntityContext. Reference: Programming restrictions on EJB. #### Example To configure the check:
    <module name="j2ee.ThisReturn"/>
#### Package com.puppycrawl.tools.checkstyle.checks.j2ee #### Parent Module TreeWalker

Back to the Checkstyle Home Page

Copyright © 2002-2003 Oliver Burn. All rights Reserved.