container/services/src/main/java/org/mobicents/slee/container/deployment/ConcreteSbbGenerator.java
protected void createFireEventMethods(Collection<EventEntryDescriptor> mEventEntries) {
		if (mEventEntries == null)
			return;
		for (EventEntryDescriptor mEventEntry : mEventEntries) {
			if (mEventEntry.isFired()) {
				String methodName = "fire" + mEventEntry.getEventName();
				CtMethod method = (CtMethod) abstractMethods.get(methodName);
				if (method == null) {
					method = (CtMethod) superClassesAbstractMethods
							.get(methodName);
				}
				if (method != null) {
					try {
						// copy method from abstract to concrete class
						CtMethod concreteMethod = CtNewMethod.copy(method,
								sbbConcreteClass, null);
						// create the method body
						String concreteMethodBody = "{";
						concreteMethodBody += getEventTypeIDInstantionString(mEventEntry);
						concreteMethodBody += SbbAbstractMethodHandler.class
								.getName()
								+ ".fireEvent(sbbEntity,eventTypeID";
						for (int i = 0; i < method.getParameterTypes().length; i++) {
							concreteMethodBody += ",$" + (i + 1);
						}
						concreteMethodBody += ");}";
						if (logger.isTraceEnabled()) {
				            logger.trace("Generated method " + methodName
									+ " , body = " + concreteMethodBody);
						}
						concreteMethod.setBody(concreteMethodBody);
						sbbConcreteClass.addMethod(concreteMethod);
					} catch (Exception e) {
						throw new SLEEException("Cannot compile method "
								+ method.getName(), e);
					}
				}
			}
		}
	}
protected void createFireEventMethods(Collection<EventEntryDescriptor> mEventEntries) {
		if (mEventEntries == null)
			return;
		for (EventEntryDescriptor mEventEntry : mEventEntries) {
			if (mEventEntry.isFired()) {
				String methodName = "fire" + mEventEntry.getEventName();
				CtMethod method = (CtMethod) abstractMethods.get(methodName);
				if (method == null) {
					method = (CtMethod) superClassesAbstractMethods
							.get(methodName);
				}
				if (method != null) {
					try {
						// copy method from abstract to concrete class
						CtMethod concreteMethod = CtNewMethod.copy(method,
								sbbConcreteClass, null);
						// create the method body
						String concreteMethodBody = "{";
						concreteMethodBody += getEventTypeIDInstantionString(mEventEntry);
						concreteMethodBody += SbbAbstractMethodHandler.class
								.getName()
								+ ".fireEvent(sbbEntity,eventTypeID";
						for (int i = 0; i < method.getParameterTypes().length; i++) {
							concreteMethodBody += ",$" + (i + 1);
						}
						concreteMethodBody += ");}";
						if (logger.isTraceEnabled()) {
				            logger.trace("Generated method " + methodName
									+ " , body = " + concreteMethodBody);
						}
						concreteMethod.setBody(concreteMethodBody);
						sbbConcreteClass.addMethod(concreteMethod);
					} catch (Exception e) {
						throw new SLEEException("Cannot compile method "
								+ method.getName(), e);
					}
				}
			}
		}
	}
protected void createFireEventMethods ( Collection < EventEntryDescriptor > mEventEntries ) { if ( mEventEntries == null ) return ; for ( EventEntryDescriptor mEventEntry : mEventEntries ) { if ( mEventEntry . isFired ( ) ) { String methodName = "fire" + mEventEntry . getEventName ( ) ; CtMethod method = ( CtMethod ) abstractMethods . get ( methodName ) ; if ( method == null ) { method = ( CtMethod ) superClassesAbstractMethods . get ( methodName ) ; } if ( method != null ) { try { // copy method from abstract to concrete class CtMethod concreteMethod = CtNewMethod . copy ( method , sbbConcreteClass , null ) ; // create the method body String concreteMethodBody = "{" ; concreteMethodBody += getEventTypeIDInstantionString ( mEventEntry ) ; concreteMethodBody += SbbAbstractMethodHandler . class . getName ( ) + ".fireEvent(sbbEntity,eventTypeID" ; for ( int i = 0 ; i < method . getParameterTypes ( ) . length ; i ++ ) { concreteMethodBody += ",$" + ( i + 1 ) ; } concreteMethodBody += ");}" ; if ( logger . isTraceEnabled ( ) ) { logger . trace ( "Generated method " + methodName + " , body = " + concreteMethodBody ) ; } concreteMethod . setBody ( concreteMethodBody ) ; sbbConcreteClass . addMethod ( concreteMethod ) ; } catch ( Exception e ) { throw new SLEEException ( "Cannot compile method " + method . getName ( ) , e ) ; } } } } }
Create the implementation of the fire event methods

@param mEventEntries
the set of fire event
Create the implementation of the fire event methods