Package org.jboss.metadata.ejb.jboss

Source Code of org.jboss.metadata.ejb.jboss.JBossMetaDataWrapper

/*
* JBoss, Home of Professional Open Source
* Copyright 2007, Red Hat Middleware LLC, and individual contributors
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.metadata.ejb.jboss;

import org.jboss.metadata.common.jboss.LoaderRepositoryMetaData;
import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DeploymentSummary;
import org.jboss.metadata.ejb.spec.InterceptorsMetaData;
import org.jboss.metadata.ejb.spec.RelationsMetaData;
import org.jboss.metadata.javaee.jboss.RunAsIdentityMetaData;
import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;

/**
* Read only wrapper that combines a primary and standardjboss.xml defaults into
* a unified view.
*
* @author Scott.Stark@jboss.org
* @version $Revision: 74705 $
*/
public class JBossMetaDataWrapper extends JBossMetaData
{
   private static final long serialVersionUID = 1;
   private JBossMetaData primary;
   private JBossMetaData defaults;
   private ContainerConfigurationsMetaData configurationsWrapper;
   private transient InvokerProxyBindingsMetaData mergedInvokerBindings;
  

   public JBossMetaDataWrapper(JBossMetaData primary, JBossMetaData defaults)
   {
      this.primary = primary;
      this.defaults = defaults;
      configurationsWrapper = new ContainerConfigurationsMetaDataWrapper(primary.getContainerConfigurations(),
            defaults.getContainerConfigurations());
      wireOverrides();
   }

   @Override
   public String getDtdPublicId()
   {
      return primary.getDtdPublicId();
   }

   @Override
   public String getDtdSystemId()
   {
      return primary.getDtdSystemId();
   }

   @Override
   public String getEjbClientJar()
   {
      String clientJar = primary.getEjbClientJar();
      if(clientJar == null && defaults != null)
         clientJar = defaults.getEjbClientJar();
      return clientJar;
   }

   @Override
   public InterceptorsMetaData getInterceptors()
   {
      InterceptorsMetaData interceptors = primary.getInterceptors();
      if(interceptors == null && defaults != null)
         interceptors = defaults.getInterceptors();
      return interceptors;
   }

   @Override
   public String getJaccContextID()
   {
      String jaccID = primary.getJaccContextID();
      if(jaccID == null && defaults != null)
         jaccID = defaults.getJaccContextID();
      return jaccID;
   }

   @Override
   public RelationsMetaData getRelationships()
   {
      RelationsMetaData relations = primary.getRelationships();
      if(relations == null && defaults != null)
         relations = defaults.getRelationships();
      return relations;
   }

   @Override
   public boolean isEJB1x()
   {
      return primary.isEJB1x();
   }

   @Override
   public boolean isEJB21()
   {
      return primary.isEJB21();
   }

   @Override
   public boolean isEJB2x()
   {
      return primary.isEJB2x();
   }

   @Override
   public boolean isEJB3x()
   {
      return primary.isEJB3x();
   }

   @Override
   public JBossAssemblyDescriptorMetaData getAssemblyDescriptor()
   {
      return primary.getAssemblyDescriptor();
   }
  
   @Override
   public ContainerConfigurationMetaData getContainerConfiguration(String name)
   {
      ContainerConfigurationMetaData ccmd = configurationsWrapper.get(name);
      return ccmd;
   }

   @Override
   public ContainerConfigurationsMetaData getContainerConfigurations()
   {
      return configurationsWrapper;
   }

   @Override
   public JBossEnterpriseBeanMetaData getEnterpriseBean(String name)
   {
      return primary.getEnterpriseBean(name);
   }

   @Override
   public JBossEnterpriseBeansMetaData getEnterpriseBeans()
   {
      return primary.getEnterpriseBeans();
   }

   @Override
   public InvokerProxyBindingMetaData getInvokerProxyBinding(String name)
   {
      InvokerProxyBindingMetaData ipbmd = primary.getInvokerProxyBinding(name);
      if(ipbmd == null && defaults != null)
         ipbmd = defaults.getInvokerProxyBinding(name);
      return ipbmd;
   }

   @Override
   public InvokerProxyBindingsMetaData getInvokerProxyBindings()
   {
      if(mergedInvokerBindings == null)
      {
         mergedInvokerBindings = new InvokerProxyBindingsMetaDataWrapper(
               this.primary.getInvokerProxyBindings(),
               this.defaults.getInvokerProxyBindings());
      }
      return mergedInvokerBindings;
   }

   @Override
   public String getJmxName()
   {
      String jmxName = primary.getJmxName();
      if(jmxName == null && defaults != null)
         jmxName = defaults.getJmxName();
      return jmxName;
   }

   @Override
   public LoaderRepositoryMetaData getLoaderRepository()
   {
      LoaderRepositoryMetaData x = primary.getLoaderRepository();
      if(x == null && defaults != null)
         x = defaults.getLoaderRepository();
      return x;
   }

   @Override
   public ResourceManagerMetaData getResourceManager(String name)
   {
      return primary.getResourceManager(name);
   }

   @Override
   public ResourceManagersMetaData getResourceManagers()
   {
      return primary.getResourceManagers();
   }

   @Override
   public String getSecurityDomain()
   {
      return primary.getSecurityDomain();
   }

   @Override
   public String getUnauthenticatedPrincipal()
   {
      String unauthenticatedPrincipal = primary.getUnauthenticatedPrincipal();
      if (unauthenticatedPrincipal == null && defaults != null)
         unauthenticatedPrincipal = defaults.getUnauthenticatedPrincipal();
      return unauthenticatedPrincipal;
   }

  
   @Override
   public DeploymentSummary getDeploymentSummary()
   {
      DeploymentSummary summary = super.getDeploymentSummary();
      return summary;
   }

   @Override
   public String getJndiBindingPolicy()
   {
      String policy = super.getJndiBindingPolicy();
      if(policy == null && defaults != null)
         policy = defaults.getJndiBindingPolicy();
      return policy;
   }

   @Override
   public RunAsIdentityMetaData getRunAsIdentity(String ejbName)
   {
      RunAsIdentityMetaData runAs = primary.getRunAsIdentity(ejbName);
      if(runAs == null && defaults != null)
         runAs = defaults.getRunAsIdentity(ejbName);
      return runAs;
   }

   @Override
   public boolean isMetadataComplete()
   {
      return primary.isMetadataComplete();
   }

   @Override
   public String getEjbVersion()
   {
      String ejbVersion = primary.getEjbVersion();
      if(ejbVersion == null)
         ejbVersion = defaults.getEjbVersion();
      return ejbVersion;
   }

   @Override
   public String getVersion()
   {
      String version = primary.getVersion();
      if(version == null)
         version = defaults.getVersion();
      return version;
   }

   @Override
   public WebservicesMetaData getWebservices()
   {
      return primary.getWebservices();
   }

   @Override
   public boolean isExceptionOnRollback()
   {
      return primary.isExceptionOnRollback();
   }

   @Override
   public boolean isExcludeMissingMethods()
   {
      return primary.isExcludeMissingMethods();
   }

   @Override
   public DescriptionGroupMetaData getDescriptionGroup()
   {
      return primary.getDescriptionGroup();
   }

   @Override
   public String getId()
   {
      return primary.getId();
   }

   @Override
   public String toString()
   {
      return primary.toString();
   }

   protected void wireOverrides()
   {
      if( primary != null )
      {
         JBossEnterpriseBeansMetaData beans = (JBossEnterpriseBeansMetaData) primary.getEnterpriseBeans();
         beans.setJBossMetaData(this);
      }
   }
}
TOP

Related Classes of org.jboss.metadata.ejb.jboss.JBossMetaDataWrapper

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.