    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
    18
    19  package org.apache.commons.beanutils.priv;
    20
    21
    22  /***
    23   * <p>This class is designed to test the default access jvm problem workaround.
    24   * The issue is that public methods of a public subclass contained in a default access
    25   * superclass are returned by reflection but an IllegalAccessException is thrown
    26   * when they are invoked.</p>
    27   *
    28   * <p>This is the default access superclass</p>
    29   *
    30   * @author Robert Burrell Donkin
    31   * @version $Revision: 438363 $ $Date: 2006-08-30 05:48:00 +0100 (Wed, 30 Aug 2006) $
    32   */
    33
    34  public class PublicSubBean extends PackageBean {
    35
    36
    37      // ----------------------------------------------------------- Constructors
    38
    39
    40      /***
    41       * Package private constructor - can only use factory method to create
    42       * beans.
    43       */
    44      public PublicSubBean() {
    45
    46          super();
    47
    48      }
    49
    50
    51      // ------------------------------------------------------------- Properties
    52
    53
    54      /***
    55       * A directly implemented property.
    56       */
    57      private String foo = "This is foo";
    58
    59      public String getFoo() {
    60
    61          return (this.foo);
    62
    63      }
    64
    65      public void setFoo(String foo) {
    66
    67          this.foo = foo;
    68
    69      }
    70  }