1 /** 2 * 3 * Copyright 2004 The Apache Software Foundation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package org.apache.geronimo.kernel; 18 19 import org.apache.geronimo.gbean.DynamicGBean; 20 import org.apache.geronimo.gbean.GBeanInfo; 21 import org.apache.geronimo.gbean.GBeanInfoBuilder; 22 import org.apache.geronimo.gbean.DynamicGAttributeInfo; 23 24 /** 25 * @version $Rev: 109314 $ $Date: 2004-12-01 00:01:37 -0800 (Wed, 01 Dec 2004) $ 26 */ 27 public class MockDynamicGBean implements DynamicGBean { 28 29 private static final GBeanInfo GBEAN_INFO; 30 31 public static final String MUTABLE_INT_ATTRIBUTE_NAME = "MutableInt"; 32 33 private int mutableInt; 34 35 public Object getAttribute(String name) throws Exception { 36 if (MUTABLE_INT_ATTRIBUTE_NAME.equals(name)) { 37 return new Integer(mutableInt); 38 } 39 return null; 40 } 41 42 public void setAttribute(String name, Object value) throws Exception { 43 if (MUTABLE_INT_ATTRIBUTE_NAME.equals(name)) { 44 mutableInt = ((Integer) value).intValue(); 45 return; 46 } 47 throw new IllegalArgumentException(name + " attribute not supported"); 48 } 49 50 public Object invoke(String name, Object[] arguments, String[] types) throws Exception { 51 return null; 52 } 53 54 /** 55 * @return GBeanInfo of this GBean 56 */ 57 public static GBeanInfo getGBeanInfo() { 58 return GBEAN_INFO; 59 } 60 61 static { 62 GBeanInfoBuilder infoFactory = new GBeanInfoBuilder("MockDynamicGBean", MockDynamicGBean.class); 63 infoFactory.addAttribute(new DynamicGAttributeInfo("mutableInt", Integer.class.getName(), false, true, true)); 64 GBEAN_INFO = infoFactory.getBeanInfo(); 65 } 66 }