implement requirement that a bean class cannot be abstract

This commit is contained in:
Rick Giles 2003-07-01 11:58:27 +00:00
parent d0fbb100b6
commit 135b7a010b
7 changed files with 18 additions and 6 deletions

View File

@ -77,6 +77,11 @@ public class AbstractBeanCheck
"illegalmodifier.bean",
new Object[] {aBeanType, "final"});
}
if (Utils.isAbstract(aAST)) {
log(nameAST.getLineNo(), nameAST.getColumnNo(),
"illegalmodifier.bean",
new Object[] {aBeanType, "abstract"});
}
if (!Utils.hasPublicConstructor(aAST, 0)) {
log(nameAST.getLineNo(), nameAST.getColumnNo(),
"nonpublicconstructor.bean", aBeanType);

View File

@ -40,8 +40,7 @@ public class EntityBeanCheck
*/
public void visitToken(DetailAST aAST)
{
if (Utils.hasImplements(aAST, "javax.ejb.EntityBean")
&& !Utils.isAbstract(aAST))
if (Utils.hasImplements(aAST, "javax.ejb.EntityBean"))
{
checkBean(aAST, "Entity bean");
}

View File

@ -43,8 +43,7 @@ public class MessageBeanCheck
public void visitToken(DetailAST aAST)
{
if (Utils.hasImplements(aAST, "javax.ejb.MessageDrivenBean")
&& Utils.hasImplements(aAST, "javax.jms.MessageListener")
&& !Utils.isAbstract(aAST))
&& Utils.hasImplements(aAST, "javax.jms.MessageListener"))
{
checkBean(aAST, "Message bean");
if (!hasRequiredEjbCreate(aAST)) {

View File

@ -42,8 +42,7 @@ public class SessionBeanCheck
*/
public void visitToken(DetailAST aAST)
{
if (Utils.hasImplements(aAST, "javax.ejb.SessionBean")
&& !Utils.isAbstract(aAST))
if (Utils.hasImplements(aAST, "javax.ejb.SessionBean"))
{
checkBean(aAST, "Session bean");
if (!Utils.hasPublicMethod(aAST, "ejbCreate", true)) {

View File

@ -11,6 +11,8 @@ public class EntityBeanCheckTest extends BaseCheckTestCase
createCheckConfig(EntityBeanCheck.class);
final String[] expected = {
"13:14: Entity bean must have a public constructor with no parameters.",
"75:16: Entity bean must be public.",
"75:16: Entity bean must not have modifier abstract.",
"83:13: Entity bean must be public.",
"83:13: Entity bean must not have modifier final.",
};

View File

@ -12,6 +12,10 @@ public class MessageBeanCheckTest extends BaseCheckTestCase
final String[] expected = {
"12:14: Message bean must have a public constructor with no parameters.",
"12:14: Message bean must have method ejbCreate.",
"41:16: Message bean must be public.",
"41:16: Message bean must have a public constructor with no parameters.",
"41:16: Message bean must have method ejbCreate.",
"41:16: Message bean must not have modifier abstract.",
"46:13: Message bean must be public.",
"46:13: Message bean must not have modifier final.",
};

View File

@ -12,6 +12,10 @@ public class SessionBeanCheckTest extends BaseCheckTestCase
final String[] expected = {
"12:14: Session bean must have a public constructor with no parameters.",
"12:14: Session bean must have method ejbCreate.",
"53:16: Session bean must be public.",
"53:16: Session bean must have a public constructor with no parameters.",
"53:16: Session bean must have method ejbCreate.",
"53:16: Session bean must not have modifier abstract.",
"58:13: Session bean must be public.",
"58:13: Session bean must not have modifier final.",
};