View Javadoc
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.Jira273TestCase;
20  
21  /**
22   * Factory which creates beans for {@link Jira273TestCase}.
23   *
24   * @version $Id$
25   */
26  public class Jira273BeanFactory {
27  
28      /**
29       * Factory method which creates annonymous
30       * {@link PublicBeanWithMethod} with method NOT overriden.
31       *
32       * @return a new annonymous {@link PublicBeanWithMethod}.
33       */
34      public static Object createAnnonymousOverriden() {
35          return new PublicBeanWithMethod() {
36              @Override
37              public String getBeanValue() {
38                  return "AnnonymousOverriden";
39              }
40          };
41      }
42  
43      /**
44       * Factory method which creates annonymous
45       * {@link PublicBeanWithMethod} with method overriden.
46       *
47       * @return a new annonymous {@link PublicBeanWithMethod}.
48       */
49      public static Object createAnnonymousNotOverriden() {
50          return new PublicBeanWithMethod() {
51          };
52      }
53  
54      /**
55       * Factory method which creates a PrivatePublicOverriden bean.
56       *
57       * @return a new a PrivatePublicOverriden bean.
58       */
59      public static Object createPrivatePublicOverriden() {
60          return new PrivatePublicOverriden();
61      }
62  
63      /**
64       * Factory method which creates a PrivatePrivatePublicOverriden bean.
65       *
66       * @return a new a PrivatePrivatePublicOverriden bean.
67       */
68      public static Object createPrivatePrivatePublicOverriden() {
69          return new PrivatePrivatePublicOverriden();
70      }
71  
72      /**
73       * Factory method which creates a PrivatePrivatePublicNotOverriden bean.
74       *
75       * @return a new a PrivatePrivatePublicNotOverriden bean.
76       */
77      public static Object createPrivatePrivatePublicNotOverriden() {
78          return new PrivatePrivatePublicNotOverriden();
79      }
80  
81      /**
82       * Factory method which creates a PrivatePublicNotOverriden bean.
83       *
84       * @return a new a PrivatePublicNotOverriden bean.
85       */
86      public static Object createPrivatePublicNotOverriden() {
87          return new PrivatePublicNotOverriden();
88      }
89  
90      private static class PrivateBeanWithMethod {
91          public String getBeanValue() {
92              return "PrivateBeanWithMethod";
93          }
94      }
95  
96      public static class PublicBeanWithMethod {
97          public String getBeanValue() {
98              return "PublicBeanWithMethod";
99          }
100     }
101     private static class PrivatePublicOverriden extends PublicBeanWithMethod {
102         @Override
103         public String getBeanValue() {
104             return "PrivatePublicOverriden";
105         }
106     }
107     private static class PrivatePublicNotOverriden extends PublicBeanWithMethod {
108     }
109     private static class PrivatePrivatePublicOverriden extends PrivatePublicNotOverriden {
110         @Override
111         public String getBeanValue() {
112             return "PrivatePrivatePublicOverriden";
113         }
114     }
115     private static class PrivatePrivatePublicNotOverriden extends PrivatePublicNotOverriden {
116     }
117 }