package org.mobicents.slee.container.component; import java.util.List; import org.mobicents.slee.container.component.deployment.jaxb.descriptors.common.MUsageParameter; public abstract class SleeComponentWithUsageParametersInterface extends SleeComponent { /** * the usage parameters interface */ private Class<?> usageParametersInterface; /** * the concrete usage parameters class, generated by SLEE */ private Class<?> usageParametersConcreteClass; /** * the concrete usage parameters mbean interface, generated by SLEE */ private Class<?> usageParametersMBeanConcreteInterface; /** * the concrete usage parameters mbean impl class, generated by SLEE */ private Class<?> usageParametersMBeanImplConcreteClass; /** * the concrete usage notification manager mbean interface, generated by SLEE */ private Class<?> usageNotificationManagerMBeanConcreteInterface; /** * the concrete usage notification manager mbean impl class, generated by SLEE */ private Class<?> usageNotificationManagerMBeanImplConcreteClass; /** * Retrieves the usage parameters interface * * @return */ public Class<?> getUsageParametersInterface() { return usageParametersInterface; } /** * Sets the usage parameters interface * * @param usageParametersInterface */ public void setUsageParametersInterface(Class<?> usageParametersInterface) { this.usageParametersInterface = usageParametersInterface; } /** * Retrieves the concrete usage parameters class, generated by SLEE * @return */ public Class<?> getUsageParametersConcreteClass() { return usageParametersConcreteClass; } /** * Sets the concrete usage parameters class, generated by SLEE * @param usageParametersConcreteClass */ public void setUsageParametersConcreteClass( Class<?> usageParametersConcreteClass) { this.usageParametersConcreteClass = usageParametersConcreteClass; } /** * Retrieves the concrete usage parameters mbean interface, generated by SLEE * @return */ public Class<?> getUsageParametersMBeanConcreteInterface() { return usageParametersMBeanConcreteInterface; } /** * Sets the concrete usage parameters mbean interface, generated by SLEE * @param usageParametersMBeanConcreteInterface */ public void setUsageParametersMBeanConcreteInterface( Class<?> usageParametersMBeanConcreteInterface) { this.usageParametersMBeanConcreteInterface = usageParametersMBeanConcreteInterface; } /** * Retrieves the concrete usage parameters mbean impl class, generated by SLEE * @return */ public Class<?> getUsageParametersMBeanImplConcreteClass() { return usageParametersMBeanImplConcreteClass; } /** * Sets the concrete usage parameters mbean impl class, generated by SLEE * @param usageParametersMBeanImplConcreteClass */ public void setUsageParametersMBeanImplConcreteClass( Class<?> usageParametersMBeanImplConcreteClass) { this.usageParametersMBeanImplConcreteClass = usageParametersMBeanImplConcreteClass; } /** * Retrieves the concrete usage notification manager mbean interface, generated by SLEE * @return */ public Class<?> getUsageNotificationManagerMBeanConcreteInterface() { return usageNotificationManagerMBeanConcreteInterface; } /** * Sets the concrete usage notification manager mbean interface, generated by SLEE * @param usageNotificationManagerMBeanConcreteInterface */ public void setUsageNotificationManagerMBeanConcreteInterface( Class<?> usageNotificationManagerMBeanConcreteInterface) { this.usageNotificationManagerMBeanConcreteInterface = usageNotificationManagerMBeanConcreteInterface; } /** * Retrieves the concrete usage notification manager mbean impl class, generated by SLEE * @return */ public Class<?> getUsageNotificationManagerMBeanImplConcreteClass() { return usageNotificationManagerMBeanImplConcreteClass; } /** * Sets the concrete usage notification manager mbean impl class, generated by SLEE * @param usageNotificationManagerMBeanImplConcreteClass */ public void setUsageNotificationManagerMBeanImplConcreteClass( Class<?> usageNotificationManagerMBeanImplConcreteClass) { this.usageNotificationManagerMBeanImplConcreteClass = usageNotificationManagerMBeanImplConcreteClass; } public List<MUsageParameter> getUsageParametersList() { if(this instanceof SbbComponent) { return ((SbbComponent)this).getDescriptor().getSbbClasses().getSbbUsageParametersInterface().getUsageParameter(); }else if(this instanceof ProfileSpecificationComponent) { return ((ProfileSpecificationComponent)this).getDescriptor().getProfileUsageParameterInterface().getUsageParameter(); }else { return ((ResourceAdaptorComponent)this).getDescriptor().getResourceAdaptorUsageParametersInterface().getUsageParameter(); } } @Override public void undeployed() { super.undeployed(); usageNotificationManagerMBeanConcreteInterface = null; usageNotificationManagerMBeanImplConcreteClass = null; usageParametersConcreteClass = null; usageParametersInterface = null; usageParametersMBeanConcreteInterface = null; usageParametersMBeanImplConcreteClass = null; } }