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 * https://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.beanutils2.bugs.other;
18
19 import org.apache.commons.beanutils2.bugs.Jira273Test;
20
21 /**
22 * Factory which creates beans for {@link Jira273Test}.
23 */
24 public class Jira273BeanFactory {
25
26 private static class PrivateBeanWithMethod {
27 public String getBeanValue() {
28 return "PrivateBeanWithMethod";
29 }
30 }
31
32 private static class PrivatePrivatePublicNotOverridden extends PrivatePublicNotOverridden {
33 }
34
35 private static class PrivatePrivatePublicOverridden extends PrivatePublicNotOverridden {
36 @Override
37 public String getBeanValue() {
38 return "PrivatePrivatePublicOverridden";
39 }
40 }
41
42 private static class PrivatePublicNotOverridden extends PublicBeanWithMethod {
43 }
44
45 private static class PrivatePublicOverridden extends PublicBeanWithMethod {
46 @Override
47 public String getBeanValue() {
48 return "PrivatePublicOverridden";
49 }
50 }
51
52 public static class PublicBeanWithMethod {
53 public String getBeanValue() {
54 return "PublicBeanWithMethod";
55 }
56 }
57
58 /**
59 * Factory method which creates anonymous {@link PublicBeanWithMethod} with method overridden.
60 *
61 * @return a new anonymous {@link PublicBeanWithMethod}.
62 */
63 public static Object createAnonymousNotOverridden() {
64 return new PublicBeanWithMethod() {
65 };
66 }
67
68 /**
69 * Factory method which creates anonymous {@link PublicBeanWithMethod} with method NOT overridden.
70 *
71 * @return a new anonymous {@link PublicBeanWithMethod}.
72 */
73 public static Object createAnonymousOverridden() {
74 return new PublicBeanWithMethod() {
75 @Override
76 public String getBeanValue() {
77 return "AnonymousOverridden";
78 }
79 };
80 }
81
82 /**
83 * Factory method which creates a PrivatePrivatePublicNotOverridden bean.
84 *
85 * @return a new a PrivatePrivatePublicNotOverridden bean.
86 */
87 public static Object createPrivatePrivatePublicNotOverridden() {
88 return new PrivatePrivatePublicNotOverridden();
89 }
90
91 /**
92 * Factory method which creates a PrivatePrivatePublicOverridden bean.
93 *
94 * @return a new a PrivatePrivatePublicOverridden bean.
95 */
96 public static Object createPrivatePrivatePublicOverridden() {
97 return new PrivatePrivatePublicOverridden();
98 }
99
100 /**
101 * Factory method which creates a PrivatePublicNotOverridden bean.
102 *
103 * @return a new a PrivatePublicNotOverridden bean.
104 */
105 public static Object createPrivatePublicNotOverridden() {
106 return new PrivatePublicNotOverridden();
107 }
108
109 /**
110 * Factory method which creates a PrivatePublicOverridden bean.
111 *
112 * @return a new a PrivatePublicOverridden bean.
113 */
114 public static Object createPrivatePublicOverridden() {
115 return new PrivatePublicOverridden();
116 }
117 }