Package org.jboss.metadata.ejb.spec

Source Code of org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData

/*     */ package org.jboss.metadata.ejb.spec;
/*     */
/*     */ import java.lang.reflect.Method;
/*     */ import java.util.concurrent.ConcurrentHashMap;
/*     */ import javax.ejb.TransactionAttributeType;
/*     */ import javax.ejb.TransactionManagementType;
/*     */ import javax.xml.bind.annotation.XmlElement;
/*     */ import javax.xml.bind.annotation.XmlTransient;
/*     */ import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
/*     */ import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
/*     */ import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
/*     */ import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
/*     */ import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
/*     */ import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
/*     */ import org.jboss.metadata.javaee.spec.EJBReferencesMetaData;
/*     */ import org.jboss.metadata.javaee.spec.Environment;
/*     */ import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
/*     */ import org.jboss.metadata.javaee.spec.EnvironmentEntryMetaData;
/*     */ import org.jboss.metadata.javaee.spec.EnvironmentRefsGroupMetaData;
/*     */ import org.jboss.metadata.javaee.spec.LifecycleCallbacksMetaData;
/*     */ import org.jboss.metadata.javaee.spec.MessageDestinationReferenceMetaData;
/*     */ import org.jboss.metadata.javaee.spec.MessageDestinationReferencesMetaData;
/*     */ import org.jboss.metadata.javaee.spec.PersistenceContextReferenceMetaData;
/*     */ import org.jboss.metadata.javaee.spec.PersistenceContextReferencesMetaData;
/*     */ import org.jboss.metadata.javaee.spec.PersistenceUnitReferenceMetaData;
/*     */ import org.jboss.metadata.javaee.spec.PersistenceUnitReferencesMetaData;
/*     */ import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferenceMetaData;
/*     */ import org.jboss.metadata.javaee.spec.ResourceEnvironmentReferencesMetaData;
/*     */ import org.jboss.metadata.javaee.spec.ResourceReferenceMetaData;
/*     */ import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
/*     */ import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
/*     */ import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
/*     */ import org.jboss.metadata.javaee.support.AbstractMappedMetaData;
/*     */ import org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptionGroup;
/*     */ import org.jboss.xb.annotations.JBossXmlModelGroup;
/*     */
/*     */ @JBossXmlModelGroup(kind="choice", particles={@org.jboss.xb.annotations.JBossXmlModelGroup.Particle(element=@XmlElement(name="session"), type=SessionBeanMetaData.class), @org.jboss.xb.annotations.JBossXmlModelGroup.Particle(element=@XmlElement(name="entity"), type=EntityBeanMetaData.class), @org.jboss.xb.annotations.JBossXmlModelGroup.Particle(element=@XmlElement(name="message-driven"), type=MessageDrivenBeanMetaData.class)})
/*     */ public abstract class EnterpriseBeanMetaData extends NamedMetaDataWithDescriptionGroup
/*     */   implements Environment, IEnterpriseBeanMetaData<AssemblyDescriptorMetaData, EnterpriseBeansMetaData, EnterpriseBeanMetaData, EjbJarMetaData>
/*     */ {
/*     */   private static final long serialVersionUID = -10005320902508914L;
/*     */   private EnterpriseBeansMetaData enterpriseBeansMetaData;
/*     */   private String mappedName;
/*     */   private String ejbClass;
/*     */   private EnvironmentRefsGroupMetaData jndiEnvironmentRefsGroup;
/*     */   private SecurityIdentityMetaData securityIdentity;
/*     */   private transient ContainerTransactionsMetaData cachedContainerTransactions;
/*     */   private transient ConcurrentHashMap<Method, TransactionAttributeType> methodTx;
/*     */
/*     */   public static EnterpriseBeanMetaData newBean(EnterpriseBeanMetaData bean)
/*     */   {
/* 110 */     EnterpriseBeanMetaData nbean = null;
/* 111 */     if ((bean instanceof EntityBeanMetaData))
/* 112 */       nbean = new EntityBeanMetaData();
/* 113 */     if ((bean instanceof MessageDrivenBeanMetaData))
/* 114 */       nbean = new MessageDrivenBeanMetaData();
/* 115 */     if ((bean instanceof SessionBeanMetaData))
/* 116 */       nbean = new SessionBeanMetaData();
/* 117 */     return nbean;
/*     */   }
/*     */
/*     */   public EnterpriseBeansMetaData getEnterpriseBeansMetaData()
/*     */   {
/* 130 */     return this.enterpriseBeansMetaData;
/*     */   }
/*     */
/*     */   @XmlTransient
/*     */   public void setEnterpriseBeansMetaData(EnterpriseBeansMetaData enterpriseBeansMetaData)
/*     */   {
/* 141 */     this.enterpriseBeansMetaData = enterpriseBeansMetaData;
/*     */   }
/*     */
/*     */   @XmlTransient
/*     */   public EjbJarMetaData getEjbJarMetaData()
/*     */   {
/* 152 */     if (this.enterpriseBeansMetaData == null)
/* 153 */       return null;
/* 154 */     return this.enterpriseBeansMetaData.getEjbJarMetaData();
/*     */   }
/*     */
/*     */   @XmlTransient
/*     */   public AssemblyDescriptorMetaData getAssemblyDescriptor()
/*     */   {
/* 165 */     EjbJarMetaData ejbJar = getEjbJarMetaData();
/* 166 */     if (ejbJar == null)
/* 167 */       return null;
/* 168 */     return ejbJar.getAssemblyDescriptor();
/*     */   }
/*     */
/*     */   public String getEjbName()
/*     */   {
/* 178 */     return getName();
/*     */   }
/*     */
/*     */   public void setEjbName(String ejbName)
/*     */   {
/* 189 */     setName(ejbName);
/*     */   }
/*     */
/*     */   public boolean isSession()
/*     */   {
/* 199 */     return false;
/*     */   }
/*     */
/*     */   public boolean isMessageDriven()
/*     */   {
/* 209 */     return false;
/*     */   }
/*     */
/*     */   public boolean isEntity()
/*     */   {
/* 219 */     return false;
/*     */   }
/*     */
/*     */   public TransactionManagementType getTransactionType()
/*     */   {
/* 229 */     return TransactionManagementType.CONTAINER;
/*     */   }
/*     */
/*     */   public boolean isCMT()
/*     */   {
/* 239 */     TransactionManagementType type = getTransactionType();
/* 240 */     if (type == null) {
/* 241 */       return true;
/*     */     }
/* 243 */     return type == TransactionManagementType.CONTAINER;
/*     */   }
/*     */
/*     */   public boolean isBMT()
/*     */   {
/* 253 */     return !isCMT();
/*     */   }
/*     */
/*     */   public String getMappedName()
/*     */   {
/* 263 */     return this.mappedName;
/*     */   }
/*     */
/*     */   @XmlElement(required=false)
/*     */   public void setMappedName(String mappedName)
/*     */   {
/* 275 */     if (mappedName == null)
/* 276 */       throw new IllegalArgumentException("Null mappedName");
/* 277 */     this.mappedName = mappedName;
/*     */   }
/*     */
/*     */   public String getEjbClass()
/*     */   {
/* 287 */     return this.ejbClass;
/*     */   }
/*     */
/*     */   public void setEjbClass(String ejbClass)
/*     */   {
/* 298 */     if (ejbClass == null)
/* 299 */       throw new IllegalArgumentException("Null ejbClass");
/* 300 */     this.ejbClass = ejbClass;
/*     */   }
/*     */
/*     */   public Environment getJndiEnvironmentRefsGroup()
/*     */   {
/* 310 */     return this.jndiEnvironmentRefsGroup;
/*     */   }
/*     */
/*     */   @XmlElement(type=EnvironmentRefsGroupMetaData.class)
/*     */   public void setJndiEnvironmentRefsGroup(Environment jndiEnvironmentRefsGroup)
/*     */   {
/* 322 */     if (jndiEnvironmentRefsGroup == null)
/* 323 */       throw new IllegalArgumentException("Null jndiEnvironmentRefsGroup");
/* 324 */     this.jndiEnvironmentRefsGroup = ((EnvironmentRefsGroupMetaData)jndiEnvironmentRefsGroup);
/*     */   }
/*     */
/*     */   public SecurityIdentityMetaData getSecurityIdentity()
/*     */   {
/* 334 */     return this.securityIdentity;
/*     */   }
/*     */
/*     */   public void setSecurityIdentity(SecurityIdentityMetaData securityIdentity)
/*     */   {
/* 345 */     if (securityIdentity == null)
/* 346 */       throw new IllegalArgumentException("Null securityIdentity");
/* 347 */     this.securityIdentity = securityIdentity;
/*     */   }
/*     */
/*     */   public EJBLocalReferenceMetaData getEjbLocalReferenceByName(String name)
/*     */   {
/* 352 */     return (EJBLocalReferenceMetaData)AbstractMappedMetaData.getByName(name, getEjbLocalReferences());
/*     */   }
/*     */
/*     */   public EJBLocalReferencesMetaData getEjbLocalReferences()
/*     */   {
/* 357 */     if (this.jndiEnvironmentRefsGroup != null)
/* 358 */       return this.jndiEnvironmentRefsGroup.getEjbLocalReferences();
/* 359 */     return null;
/*     */   }
/*     */
/*     */   public EJBReferenceMetaData getEjbReferenceByName(String name)
/*     */   {
/* 364 */     return (EJBReferenceMetaData)AbstractMappedMetaData.getByName(name, getEjbReferences());
/*     */   }
/*     */
/*     */   public EJBReferencesMetaData getEjbReferences()
/*     */   {
/* 369 */     if (this.jndiEnvironmentRefsGroup != null)
/* 370 */       return this.jndiEnvironmentRefsGroup.getEjbReferences();
/* 371 */     return null;
/*     */   }
/*     */
/*     */   @XmlTransient
/*     */   public AnnotatedEJBReferencesMetaData getAnnotatedEjbReferences() {
/* 377 */     if (this.jndiEnvironmentRefsGroup != null)
/* 378 */       return this.jndiEnvironmentRefsGroup.getAnnotatedEjbReferences();
/* 379 */     return null;
/*     */   }
/*     */
/*     */   public EnvironmentEntriesMetaData getEnvironmentEntries()
/*     */   {
/* 384 */     if (this.jndiEnvironmentRefsGroup != null)
/* 385 */       return this.jndiEnvironmentRefsGroup.getEnvironmentEntries();
/* 386 */     return null;
/*     */   }
/*     */
/*     */   public EnvironmentEntryMetaData getEnvironmentEntryByName(String name)
/*     */   {
/* 391 */     return (EnvironmentEntryMetaData)AbstractMappedMetaData.getByName(name, getEnvironmentEntries());
/*     */   }
/*     */
/*     */   public MessageDestinationReferenceMetaData getMessageDestinationReferenceByName(String name)
/*     */   {
/* 396 */     return (MessageDestinationReferenceMetaData)AbstractMappedMetaData.getByName(name, getMessageDestinationReferences());
/*     */   }
/*     */
/*     */   public MessageDestinationReferencesMetaData getMessageDestinationReferences()
/*     */   {
/* 401 */     if (this.jndiEnvironmentRefsGroup != null)
/* 402 */       return this.jndiEnvironmentRefsGroup.getMessageDestinationReferences();
/* 403 */     return null;
/*     */   }
/*     */
/*     */   public PersistenceContextReferenceMetaData getPersistenceContextReferenceByName(String name)
/*     */   {
/* 408 */     return (PersistenceContextReferenceMetaData)AbstractMappedMetaData.getByName(name, getPersistenceContextRefs());
/*     */   }
/*     */
/*     */   public PersistenceContextReferencesMetaData getPersistenceContextRefs()
/*     */   {
/* 413 */     if (this.jndiEnvironmentRefsGroup != null)
/* 414 */       return this.jndiEnvironmentRefsGroup.getPersistenceContextRefs();
/* 415 */     return null;
/*     */   }
/*     */
/*     */   public PersistenceUnitReferenceMetaData getPersistenceUnitReferenceByName(String name)
/*     */   {
/* 420 */     return (PersistenceUnitReferenceMetaData)AbstractMappedMetaData.getByName(name, getPersistenceUnitRefs());
/*     */   }
/*     */
/*     */   public PersistenceUnitReferencesMetaData getPersistenceUnitRefs()
/*     */   {
/* 425 */     if (this.jndiEnvironmentRefsGroup != null)
/* 426 */       return this.jndiEnvironmentRefsGroup.getPersistenceUnitRefs();
/* 427 */     return null;
/*     */   }
/*     */
/*     */   public LifecycleCallbacksMetaData getPostConstructs()
/*     */   {
/* 432 */     if (this.jndiEnvironmentRefsGroup != null)
/* 433 */       return this.jndiEnvironmentRefsGroup.getPostConstructs();
/* 434 */     return null;
/*     */   }
/*     */
/*     */   public LifecycleCallbacksMetaData getPreDestroys()
/*     */   {
/* 439 */     if (this.jndiEnvironmentRefsGroup != null)
/* 440 */       return this.jndiEnvironmentRefsGroup.getPreDestroys();
/* 441 */     return null;
/*     */   }
/*     */
/*     */   public ResourceEnvironmentReferenceMetaData getResourceEnvironmentReferenceByName(String name)
/*     */   {
/* 446 */     return (ResourceEnvironmentReferenceMetaData)AbstractMappedMetaData.getByName(name, getResourceEnvironmentReferences());
/*     */   }
/*     */
/*     */   public ResourceEnvironmentReferencesMetaData getResourceEnvironmentReferences()
/*     */   {
/* 451 */     if (this.jndiEnvironmentRefsGroup != null)
/* 452 */       return this.jndiEnvironmentRefsGroup.getResourceEnvironmentReferences();
/* 453 */     return null;
/*     */   }
/*     */
/*     */   public ResourceReferenceMetaData getResourceReferenceByName(String name)
/*     */   {
/* 458 */     return (ResourceReferenceMetaData)AbstractMappedMetaData.getByName(name, getResourceReferences());
/*     */   }
/*     */
/*     */   public ResourceReferencesMetaData getResourceReferences()
/*     */   {
/* 463 */     if (this.jndiEnvironmentRefsGroup != null)
/* 464 */       return this.jndiEnvironmentRefsGroup.getResourceReferences();
/* 465 */     return null;
/*     */   }
/*     */
/*     */   public ServiceReferenceMetaData getServiceReferenceByName(String name)
/*     */   {
/* 470 */     return (ServiceReferenceMetaData)AbstractMappedMetaData.getByName(name, getServiceReferences());
/*     */   }
/*     */
/*     */   public ServiceReferencesMetaData getServiceReferences()
/*     */   {
/* 475 */     if (this.jndiEnvironmentRefsGroup != null)
/* 476 */       return this.jndiEnvironmentRefsGroup.getServiceReferences();
/* 477 */     return null;
/*     */   }
/*     */
/*     */   public MethodPermissionsMetaData getMethodPermissions()
/*     */   {
/* 487 */     IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
/* 488 */     if (assemblyDescriptor == null)
/* 489 */       return null;
/* 490 */     return assemblyDescriptor.getMethodPermissionsByEjbName(getEjbName());
/*     */   }
/*     */
/*     */   public ContainerTransactionsMetaData getContainerTransactions()
/*     */   {
/* 500 */     if (this.cachedContainerTransactions != null)
/* 501 */       return this.cachedContainerTransactions;
/* 502 */     IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
/* 503 */     if (assemblyDescriptor == null)
/* 504 */       return null;
/* 505 */     return assemblyDescriptor.getContainerTransactionsByEjbName(getEjbName());
/*     */   }
/*     */
/*     */   public TransactionAttributeType getMethodTransactionType(String methodName, Class<?>[] params, MethodInterfaceType iface)
/*     */   {
/* 519 */     TransactionAttributeType result = null;
/*     */
/* 521 */     ContainerTransactionsMetaData containerTransactions = getContainerTransactions();
/* 522 */     if ((containerTransactions == null) || (containerTransactions.isEmpty())) {
/* 523 */       return result;
/*     */     }
/* 525 */     ContainerTransactionMetaData bestMatchTransaction = null;
/* 526 */     MethodMetaData bestMatch = null;
/* 527 */     for (ContainerTransactionMetaData transaction : containerTransactions)
/*     */     {
/* 529 */       MethodMetaData match = transaction.bestMatch(methodName, params, iface, bestMatch);
/* 530 */       if (match != bestMatch)
/*     */       {
/* 532 */         bestMatchTransaction = transaction;
/* 533 */         bestMatch = match;
/*     */       }
/*     */     }
/*     */
/* 537 */     if (bestMatchTransaction != null) {
/* 538 */       result = bestMatchTransaction.getTransAttribute();
/*     */     }
/* 540 */     return result;
/*     */   }
/*     */
/*     */   public TransactionAttributeType getMethodTransactionType(Method m, MethodInterfaceType iface)
/*     */   {
/* 552 */     if (m == null) {
/* 553 */       return TransactionAttributeType.SUPPORTS;
/*     */     }
/* 555 */     TransactionAttributeType result = null;
/* 556 */     if (this.methodTx != null)
/*     */     {
/* 558 */       result = (TransactionAttributeType)this.methodTx.get(m);
/* 559 */       if (result != null) {
/* 560 */         return result;
/*     */       }
/*     */     }
/* 563 */     result = getMethodTransactionType(m.getName(), m.getParameterTypes(), iface);
/*     */
/* 566 */     if (result == null) {
/* 567 */       result = TransactionAttributeType.REQUIRED;
/*     */     }
/* 569 */     if (this.methodTx == null)
/* 570 */       this.methodTx = new ConcurrentHashMap();
/* 571 */     this.methodTx.put(m, result);
/* 572 */     return result;
/*     */   }
/*     */
/*     */   public ExcludeListMetaData getExcludeList()
/*     */   {
/* 582 */     IAssemblyDescriptorMetaData assemblyDescriptor = getAssemblyDescriptor();
/* 583 */     if (assemblyDescriptor == null)
/* 584 */       return null;
/* 585 */     return assemblyDescriptor.getExcludeListByEjbName(getEjbName());
/*     */   }
/*     */
/*     */   public void merge(EnterpriseBeanMetaData override, EnterpriseBeanMetaData original)
/*     */   {
/* 595 */     super.merge(override, original);
/* 596 */     if ((override != null) && (override.mappedName != null))
/* 597 */       setMappedName(override.mappedName);
/* 598 */     else if ((original != null) && (original.mappedName != null))
/* 599 */       setMappedName(original.mappedName);
/* 600 */     if ((override != null) && (override.ejbClass != null))
/* 601 */       setEjbClass(override.ejbClass);
/* 602 */     else if ((original != null) && (original.ejbClass != null))
/* 603 */       setEjbClass(original.ejbClass);
/* 604 */     if (this.jndiEnvironmentRefsGroup == null)
/* 605 */       this.jndiEnvironmentRefsGroup = new EnvironmentRefsGroupMetaData();
/* 606 */     Environment env1 = override != null ? override.getJndiEnvironmentRefsGroup() : null;
/* 607 */     Environment env2 = original != null ? original.getJndiEnvironmentRefsGroup() : null;
/* 608 */     this.jndiEnvironmentRefsGroup.merge(env1, env2, "", "", false);
/* 609 */     if ((override != null) && (override.securityIdentity != null))
/* 610 */       setSecurityIdentity(override.securityIdentity);
/* 611 */     else if ((original != null) && (original.securityIdentity != null))
/* 612 */       setSecurityIdentity(original.securityIdentity);
/*     */   }
/*     */ }

/* Location:           /home/mnovotny/projects/EMBEDDED_JBOSS_BETA3_COMMUNITY/embedded/output/lib/embedded-jboss/lib/jboss-embedded-all.jar
* Qualified Name:     org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData
* JD-Core Version:    0.6.0
*/
TOP

Related Classes of org.jboss.metadata.ejb.spec.EnterpriseBeanMetaData

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.