1 /** 2 * EasyBeans 3 * Copyright (C) 2006 Bull S.A.S. 4 * Contact: easybeans@objectweb.org 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 19 * USA 20 * 21 * -------------------------------------------------------------------------- 22 * $Id: JavaxEjbStatefulVisitor.java 77 2006-03-01 13:02:50Z benoitf $ 23 * -------------------------------------------------------------------------- 24 */ 25 26 package org.objectweb.easybeans.deployment.annotations.analyzer.classes; 27 28 import static org.objectweb.easybeans.deployment.annotations.ClassType.STATEFUL; 29 30 import org.objectweb.easybeans.deployment.annotations.analyzer.AnnotationType; 31 import org.objectweb.easybeans.deployment.annotations.impl.JStateful; 32 import org.objectweb.easybeans.deployment.annotations.metadata.ClassAnnotationMetadata; 33 34 /** 35 * This class manages the handling of @{@link javax.ejb.Stateful} 36 * annotation. 37 * @author Florent Benoit 38 */ 39 public class JavaxEjbStatefulVisitor extends AbsCommonEjbVisitor<JStateful> implements AnnotationType { 40 41 /** 42 * Type of annotation. 43 */ 44 public static final String TYPE = "Ljavax/ejb/Stateful;"; 45 46 /** 47 * Constructor. 48 * @param classAnnotationMetadata linked to a class metadata 49 */ 50 public JavaxEjbStatefulVisitor(final ClassAnnotationMetadata classAnnotationMetadata) { 51 super(classAnnotationMetadata); 52 } 53 54 /** 55 * Visits the end of the annotation. <br> Creates the object and store it. 56 */ 57 @Override 58 public void visitEnd() { 59 super.visitEnd(); 60 getAnnotationMetadata().setClassType(STATEFUL); 61 } 62 63 /** 64 * @return the object representing common bean. 65 */ 66 @Override 67 public JStateful getJCommonBean() { 68 JStateful jStateful = getAnnotationMetadata().getJStateful(); 69 if (jStateful == null) { 70 jStateful = new JStateful(); 71 getAnnotationMetadata().setJStateful(jStateful); 72 } 73 return jStateful; 74 } 75 76 /** 77 * @return type of the annotation (its description) 78 */ 79 public String getType() { 80 return TYPE; 81 } 82 83 } 84