1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. 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.commons.beanutils.bugs.other; 18 19 import org.apache.commons.beanutils.bugs.Jira87TestCase; 20 21 /** 22 * Factory which creates beans for {@link Jira87TestCase}. 23 * 24 * @version $Id$ 25 */ 26 public class Jira87BeanFactory { 27 28 /** 29 * Factory method which creates beans bean with mapped method. 30 * 31 * @return The the mapped property bean instance 32 */ 33 public static PublicMappedInterface createMappedPropertyBean() { 34 return new PackageMappedImpl(); 35 } 36 37 /* =================== Public interface with Mapped Property ========================= */ 38 /** 39 * Public interface with a mapped property. 40 */ 41 public interface PublicMappedInterface { 42 43 /** 44 * Mapped Property method 45 * @param key The key of the mapped value 46 * @return The value 47 */ 48 Object getValue(String key); 49 50 } 51 52 /* =============== Package Friendly implementation of public interface =============== */ 53 static class PackageMappedImpl implements PublicMappedInterface { 54 55 /** 56 * This implementation returns the key value. 57 * 58 * @param key The key of the mapped value 59 * @return The key value 60 */ 61 public Object getValue(final String key) { 62 return key; 63 } 64 65 } 66 67 }