001    /**
002     *  Licensed to the Apache Software Foundation (ASF) under one or more
003     *  contributor license agreements.  See the NOTICE file distributed with
004     *  this work for additional information regarding copyright ownership.
005     *  The ASF licenses this file to You under the Apache License, Version 2.0
006     *  (the "License"); you may not use this file except in compliance with
007     *  the License.  You may obtain a copy of the License at
008     *
009     *     http://www.apache.org/licenses/LICENSE-2.0
010     *
011     *  Unless required by applicable law or agreed to in writing, software
012     *  distributed under the License is distributed on an "AS IS" BASIS,
013     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     *  See the License for the specific language governing permissions and
015     *  limitations under the License.
016     */
017    package org.apache.geronimo.connector.outbound;
018    
019    import org.apache.geronimo.connector.ResourceAdapterWrapper;
020    import org.apache.geronimo.gbean.AbstractName;
021    import org.apache.geronimo.gbean.GBeanInfo;
022    import org.apache.geronimo.gbean.GBeanInfoBuilder;
023    import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
024    import org.apache.geronimo.kernel.Kernel;
025    
026    /**
027     *
028     * @version $Revision: 550546 $
029     */
030    public class ManagedConnectionFactoryWrapperGBean {
031    
032        public static final GBeanInfo GBEAN_INFO;
033    
034        static {
035            GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic(ManagedConnectionFactoryWrapperGBean.class, ManagedConnectionFactoryWrapper.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
036    
037            infoFactory.addAttribute("managedConnectionFactoryClass", String.class, true);
038            infoFactory.addAttribute("connectionFactoryInterface", String.class, true);
039            infoFactory.addAttribute("implementedInterfaces", String[].class, true);
040            infoFactory.addAttribute("connectionFactoryImplClass", String.class, true);
041            infoFactory.addAttribute("connectionInterface", String.class, true);
042            infoFactory.addAttribute("connectionImplClass", String.class, true);
043            infoFactory.addAttribute("kernel", Kernel.class, false);
044            infoFactory.addAttribute("abstractName", AbstractName.class, false);
045            infoFactory.addAttribute("objectName", String.class, false);
046            infoFactory.addAttribute("classLoader", ClassLoader.class, false);
047    
048            infoFactory.addOperation("$getResource");
049            infoFactory.addOperation("$getConnectionFactory");
050            infoFactory.addOperation("$getManagedConnectionFactory");
051    
052            infoFactory.addReference("ResourceAdapterWrapper", ResourceAdapterWrapper.class, NameFactory.RESOURCE_ADAPTER);
053            infoFactory.addReference("ConnectionManagerContainer", ConnectionManagerContainer.class, NameFactory.JCA_CONNECTION_MANAGER);
054    
055            infoFactory.setConstructor(new String[]{
056                "managedConnectionFactoryClass",
057                "connectionFactoryInterface",
058                "implementedInterfaces",
059                "connectionFactoryImplClass",
060                "connectionInterface",
061                "connectionImplClass",
062                "ResourceAdapterWrapper",
063                "ConnectionManagerContainer",
064                "kernel",
065                "abstractName",
066                "objectName",
067                "classLoader"});
068    
069            GBEAN_INFO = infoFactory.getBeanInfo();
070        }
071    
072        public static GBeanInfo getGBeanInfo() {
073            return GBEAN_INFO;
074        }
075    
076    }