This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new 7501486 Context API refactoring.
7501486 is described below
commit 75014861a1fe95d76611ea6639a19e4f48d5da18
Author: JamesBognar <[email protected]>
AuthorDate: Sat Sep 25 13:57:39 2021 -0400
Context API refactoring.
---
.../main/java/org/apache/juneau/BeanContext.java | 179 ++-------------------
.../java/org/apache/juneau/BeanContextBuilder.java | 44 +++--
.../org/apache/juneau/BeanContextableBuilder.java | 4 -
.../main/java/org/apache/juneau/BeanSession.java | 8 +-
.../main/java/org/apache/juneau/Visibility.java | 8 +-
.../org/apache/juneau/annotation/BeanConfig.java | 4 -
.../juneau/annotation/BeanConfigAnnotation.java | 8 +-
.../java/org/apache/juneau/annotation/Beanp.java | 2 +-
8 files changed, 64 insertions(+), 193 deletions(-)
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index a9a9ba6..2ec0d9c 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -12,10 +12,8 @@
//
***************************************************************************************************************************
package org.apache.juneau;
-import static org.apache.juneau.Visibility.*;
import static org.apache.juneau.internal.ClassUtils.*;
import static org.apache.juneau.internal.CollectionUtils.*;
-import static org.apache.juneau.internal.StringUtils.*;
import static org.apache.juneau.internal.ExceptionUtils.*;
import java.io.*;
@@ -84,7 +82,7 @@ import org.apache.juneau.transform.*;
* plain strings using the {@link Object#toString()} method.
*
* <p class='w800'>
- * Some settings (e.g. {@link #BEAN_beanFieldVisibility}) are used to
determine what kinds of properties are
+ * Some settings (e.g. {@link
BeanContextBuilder#beanFieldVisibility(Visibility)}) are used to determine what
kinds of properties are
* detected on beans.
*
* <p class='w800'>
@@ -157,60 +155,6 @@ public class BeanContext extends Context {
static final String PREFIX = "BeanContext";
/**
- * Configuration property: Minimum bean class visibility.
- *
- * <p>
- * Classes are not considered beans unless they meet the minimum
visibility requirements.
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_beanClassVisibility BEAN_beanClassVisibility}
- * <li><b>Name:</b> <js>"BeanContext.beanClassVisibility.s"</js>
- * <li><b>Data type:</b> {@link org.apache.juneau.Visibility}
- * <li><b>System property:</b>
<c>BeanContext.beanClassVisibility</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_BEANCLASSVISIBILITY</c>
- * <li><b>Default:</b> {@link org.apache.juneau.Visibility#PUBLIC}
- * <li><b>Session property:</b> <jk>false</jk>
- * <li><b>Annotations:</b>
- * <ul>
- * <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanClassVisibility()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanClassVisibility(Visibility)}
- * </ul>
- * </ul>
- */
- public static final String BEAN_beanClassVisibility = PREFIX +
".beanClassVisibility.s";
-
- /**
- * Configuration property: Minimum bean constructor visibility.
- *
- * <p>
- * Only look for constructors with the specified minimum visibility.
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_beanConstructorVisibility
BEAN_beanConstructorVisibility}
- * <li><b>Name:</b>
<js>"BeanContext.beanConstructorVisibility.s"</js>
- * <li><b>Data type:</b> {@link org.apache.juneau.Visibility}
- * <li><b>System property:</b>
<c>BeanContext.beanConstructorVisibility</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_BEANCONSTRUCTORVISIBILITY</c>
- * <li><b>Default:</b> {@link org.apache.juneau.Visibility#PUBLIC}
- * <li><b>Session property:</b> <jk>false</jk>
- * <li><b>Annotations:</b>
- * <ul>
- * <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanConstructorVisibility()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanConstructorVisibility(Visibility)}
- * </ul>
- * </ul>
- */
- public static final String BEAN_beanConstructorVisibility = PREFIX +
".beanConstructorVisibility.s";
-
- /**
* Configuration property: Bean dictionary.
*
* <p>
@@ -268,33 +212,6 @@ public class BeanContext extends Context {
public static final String BEAN_disableBeansRequireSomeProperties =
PREFIX + ".disableBeansRequireSomeProperties.b";
/**
- * Configuration property: Minimum bean field visibility.
- *
- * <p>
- * Only look for bean fields with the specified minimum visibility.
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_beanFieldVisibility BEAN_beanFieldVisibility}
- * <li><b>Name:</b> <js>"BeanContext.beanFieldVisibility.s"</js>
- * <li><b>Data type:</b> {@link org.apache.juneau.Visibility}
- * <li><b>System property:</b>
<c>BeanContext.beanFieldVisibility</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_BEANFIELDVISIBILITY</c>
- * <li><b>Default:</b> {@link org.apache.juneau.Visibility#PUBLIC}
- * <li><b>Session property:</b> <jk>false</jk>
- * <li><b>Annotations:</b>
- * <ul>
- * <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanFieldVisibility()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanFieldVisibility(Visibility)}
- * </ul>
- * </ul>
- */
- public static final String BEAN_beanFieldVisibility = PREFIX +
".beanFieldVisibility.s";
-
- /**
* Configuration property: BeanMap.put() returns old property value.
*
* <p>
@@ -323,33 +240,6 @@ public class BeanContext extends Context {
public static final String BEAN_beanMapPutReturnsOldValue = PREFIX +
".beanMapPutReturnsOldValue.b";
/**
- * Configuration property: Minimum bean method visibility.
- *
- * <p>
- * Only look for bean methods with the specified minimum visibility.
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_beanMethodVisibility
BEAN_beanMethodVisibility}
- * <li><b>Name:</b> <js>"BeanContext.beanMethodVisibility.s"</js>
- * <li><b>Data type:</b> {@link org.apache.juneau.Visibility}
- * <li><b>System property:</b>
<c>BeanContext.beanMethodVisibility</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_BEANMETHODVISIBILITY</c>
- * <li><b>Default:</b> {@link org.apache.juneau.Visibility#PUBLIC}
- * <li><b>Session property:</b> <jk>false</jk>
- * <li><b>Annotations:</b>
- * <ul>
- * <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanMethodVisibility()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanMethodVisibility(Visibility)}
- * </ul>
- * </ul>
- */
- public static final String BEAN_beanMethodVisibility = PREFIX +
".beanMethodVisibility.s";
-
- /**
* Configuration property: Beans require no-arg constructors.
*
* <p>
@@ -1013,14 +903,6 @@ public class BeanContext extends Context {
};
- // This map is important!
- // We may have many Context objects that have identical BeanContext
properties.
- // This map ensures that if the BeanContext properties in the Context
are the same,
- // then we reuse the same Class->ClassMeta cache map.
- // This significantly reduces the number of times we need to construct
ClassMeta objects which can be expensive.
- private static final
ConcurrentHashMap<ContextProperties,Map<Class,ClassMeta>> cmCacheCache
- = new ConcurrentHashMap<>();
-
/** Default config. All default settings. */
public static final BeanContext DEFAULT = BeanContext.create().build();
@@ -1048,7 +930,7 @@ public class BeanContext extends Context {
sortProperties,
findFluentSetters;
- private final Visibility
+ final Visibility
beanConstructorVisibility,
beanClassVisibility,
beanMethodVisibility,
@@ -1075,24 +957,13 @@ public class BeanContext extends Context {
/**
* Constructor.
- *
+ *
* @param builder The builder for this object.
*/
public BeanContext(BeanContextBuilder builder) {
- this(builder.getContextProperties());
- }
-
- /**
- * Constructor.
- *
- * <p>
- * Typically only called from {@link ContextBuilder#build(Class)}
method.
- *
- * @param cp The property store containing the unmodifiable
configuration for this bean context.
- */
- public BeanContext(ContextProperties cp) {
- super(cp, true);
+ super(builder.getContextProperties(), true);
+ ContextProperties cp = builder.getContextProperties();
if (cp == null)
cp = ContextProperties.DEFAULT;
@@ -1116,10 +987,10 @@ public class BeanContext extends Context {
findFluentSetters =
cp.getBoolean(BEAN_findFluentSetters).orElse(false);
typePropertyName =
cp.getString(BEAN_typePropertyName).orElse("_type");
- beanConstructorVisibility =
cp.get(BEAN_beanConstructorVisibility, Visibility.class).orElse(PUBLIC);
- beanClassVisibility = cp.get(BEAN_beanClassVisibility,
Visibility.class).orElse(PUBLIC);
- beanMethodVisibility = cp.get(BEAN_beanMethodVisibility,
Visibility.class).orElse(PUBLIC);
- beanFieldVisibility = cp.get(BEAN_beanFieldVisibility,
Visibility.class).orElse(PUBLIC);
+ beanConstructorVisibility = builder.beanConstructorVisibility;
+ beanClassVisibility = builder.beanClassVisibility;
+ beanMethodVisibility = builder.beanMethodVisibility;
+ beanFieldVisibility = builder.beanFieldVisibility;
notBeanClasses =
cp.getClassArray(BEAN_notBeanClasses).orElse(DEFAULT_NOTBEAN_CLASSES);
@@ -1156,13 +1027,9 @@ public class BeanContext extends Context {
}
swaps = lpf.toArray(new PojoSwap[lpf.size()]);
- if (! cmCacheCache.containsKey(cp)) {
- ConcurrentHashMap<Class,ClassMeta> cm = new
ConcurrentHashMap<>();
- cm.putIfAbsent(String.class, new
ClassMeta(String.class, this, findPojoSwaps(String.class),
findChildPojoSwaps(String.class)));
- cm.putIfAbsent(Object.class, new
ClassMeta(Object.class, this, findPojoSwaps(Object.class),
findChildPojoSwaps(Object.class)));
- cmCacheCache.putIfAbsent(cp, cm);
- }
- cmCache = cmCacheCache.get(cp);
+ cmCache = new ConcurrentHashMap<>();
+ cmCache.put(String.class, new ClassMeta(String.class, this,
findPojoSwaps(String.class), findChildPojoSwaps(String.class)));
+ cmCache.put(Object.class, new ClassMeta(Object.class, this,
findPojoSwaps(Object.class), findChildPojoSwaps(Object.class)));
cmString = cmCache.get(String.class);
cmObject = cmCache.get(Object.class);
cmClass = cmCache.get(Class.class);
@@ -1311,20 +1178,6 @@ public class BeanContext extends Context {
}
/**
- * Prints meta cache statistics to <c>System.out</c>.
- */
- protected static void dumpCacheStats() {
- try {
- int ctCount = 0;
- for (Map<Class,ClassMeta> cm : cmCacheCache.values())
- ctCount += cm.size();
- System.out.println(format("ClassMeta cache: {0}
instances in {1} caches", ctCount, cmCacheCache.size())); // NOT DEBUG
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- /**
* Returns the {@link BeanMeta} class for the specified class.
*
* @param <T> The class type to get the meta-data on.
@@ -1784,7 +1637,7 @@ public class BeanContext extends Context {
/**
* Minimum bean class visibility.
*
- * @see #BEAN_beanClassVisibility
+ * @see BeanContextBuilder#beanClassVisibility(Visibility)
* @return
* Classes are not considered beans unless they meet the minimum
visibility requirements.
*/
@@ -1795,7 +1648,7 @@ public class BeanContext extends Context {
/**
* Minimum bean constructor visibility.
*
- * @see #BEAN_beanConstructorVisibility
+ * @see BeanContextBuilder#beanConstructorVisibility(Visibility)
* @return
* Only look for constructors with this specified minimum
visibility.
*/
@@ -1818,7 +1671,7 @@ public class BeanContext extends Context {
* Minimum bean field visibility.
*
*
- * @see #BEAN_beanFieldVisibility
+ * @see BeanContextBuilder#beanFieldVisibility(Visibility)
* @return
* Only look for bean fields with this specified minimum
visibility.
*/
@@ -1841,7 +1694,7 @@ public class BeanContext extends Context {
/**
* Minimum bean method visibility.
*
- * @see #BEAN_beanMethodVisibility
+ * @see BeanContextBuilder#beanMethodVisibility(Visibility)
* @return
* Only look for bean methods with this specified minimum
visibility.
*/
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
index d2ed05f..f541fbc 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
@@ -14,6 +14,7 @@ package org.apache.juneau;
import static org.apache.juneau.BeanContext.*;
import static org.apache.juneau.internal.StringUtils.*;
+import static org.apache.juneau.Visibility.*;
import java.beans.*;
import java.io.*;
@@ -54,8 +55,18 @@ import org.apache.juneau.utils.*;
@FluentSetters
public class BeanContextBuilder extends ContextBuilder {
+
//-----------------------------------------------------------------------------------------------------------------
+ // Static
+
//-----------------------------------------------------------------------------------------------------------------
+
private static final ConcurrentHashMap<HashKey,BeanContext> CACHE = new
ConcurrentHashMap<>();
+
//-----------------------------------------------------------------------------------------------------------------
+ // Instance
+
//-----------------------------------------------------------------------------------------------------------------
+
+ Visibility beanClassVisibility, beanConstructorVisibility,
beanMethodVisibility, beanFieldVisibility;
+
/**
* Constructor.
*
@@ -63,6 +74,10 @@ public class BeanContextBuilder extends ContextBuilder {
*/
protected BeanContextBuilder() {
super();
+ beanClassVisibility = env("RestContext.beanClassVisibility",
PUBLIC);
+ beanConstructorVisibility =
env("RestContext.beanConstructorVisibility", PUBLIC);
+ beanMethodVisibility = env("RestContext.beanMethodVisibility",
PUBLIC);
+ beanFieldVisibility = env("RestContext.beanFieldVisibility",
PUBLIC);
}
/**
@@ -72,6 +87,10 @@ public class BeanContextBuilder extends ContextBuilder {
*/
protected BeanContextBuilder(BeanContext copyFrom) {
super(copyFrom);
+ beanClassVisibility = copyFrom.beanClassVisibility;
+ beanConstructorVisibility = copyFrom.beanConstructorVisibility;
+ beanMethodVisibility = copyFrom.beanMethodVisibility;
+ beanFieldVisibility = copyFrom.beanFieldVisibility;
}
/**
@@ -81,6 +100,10 @@ public class BeanContextBuilder extends ContextBuilder {
*/
protected BeanContextBuilder(BeanContextBuilder copyFrom) {
super(copyFrom);
+ beanClassVisibility = copyFrom.beanClassVisibility;
+ beanConstructorVisibility = copyFrom.beanConstructorVisibility;
+ beanMethodVisibility = copyFrom.beanMethodVisibility;
+ beanFieldVisibility = copyFrom.beanFieldVisibility;
}
@Override /* ContextBuilder */
@@ -92,7 +115,10 @@ public class BeanContextBuilder extends ContextBuilder {
public BeanContext build() {
ContextProperties cp = getContextProperties();
cp = cp.subset(new String[]{"Context","BeanContext"});
- HashKey key = HashKey.create().add(cp).build();
+ HashKey key = HashKey
+ .create()
+ .add(cp, beanClassVisibility,
beanConstructorVisibility, beanMethodVisibility, beanFieldVisibility)
+ .build();
BeanContext bc = CACHE.get(key);
if (bc == null) {
bc = new BeanContext(this);
@@ -138,7 +164,6 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanClassVisibility()}
- * <li class='jf'>{@link BeanContext#BEAN_beanClassVisibility}
* </ul>
*
* @param value
@@ -148,7 +173,8 @@ public class BeanContextBuilder extends ContextBuilder {
*/
@FluentSetter
public BeanContextBuilder beanClassVisibility(Visibility value) {
- return set(BEAN_beanClassVisibility, value);
+ beanClassVisibility = value;
+ return this;
}
/**
@@ -187,7 +213,6 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanConstructorVisibility()}
- * <li class='jf'>{@link
BeanContext#BEAN_beanConstructorVisibility}
* </ul>
*
* @param value
@@ -197,7 +222,8 @@ public class BeanContextBuilder extends ContextBuilder {
*/
@FluentSetter
public BeanContextBuilder beanConstructorVisibility(Visibility value) {
- return set(BEAN_beanConstructorVisibility, value);
+ beanConstructorVisibility = value;
+ return this;
}
/**
@@ -245,7 +271,6 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanFieldVisibility()}
- * <li class='jf'>{@link BeanContext#BEAN_beanFieldVisibility}
* </ul>
*
* @param value
@@ -255,7 +280,8 @@ public class BeanContextBuilder extends ContextBuilder {
*/
@FluentSetter
public BeanContextBuilder beanFieldVisibility(Visibility value) {
- return set(BEAN_beanFieldVisibility, value);
+ beanFieldVisibility = value;
+ return this;
}
/**
@@ -383,7 +409,6 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanMethodVisibility()}
- * <li class='jf'>{@link BeanContext#BEAN_beanMethodVisibility}
* </ul>
*
* @param value
@@ -393,7 +418,8 @@ public class BeanContextBuilder extends ContextBuilder {
*/
@FluentSetter
public BeanContextBuilder beanMethodVisibility(Visibility value) {
- return set(BEAN_beanMethodVisibility, value);
+ beanMethodVisibility = value;
+ return this;
}
/**
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextableBuilder.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextableBuilder.java
index e0c1d66..d3f0b5b 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextableBuilder.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextableBuilder.java
@@ -168,7 +168,6 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanClassVisibility()}
- * <li class='jf'>{@link BeanContext#BEAN_beanClassVisibility}
* </ul>
*
* @param value
@@ -218,7 +217,6 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanConstructorVisibility()}
- * <li class='jf'>{@link
BeanContext#BEAN_beanConstructorVisibility}
* </ul>
*
* @param value
@@ -277,7 +275,6 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanFieldVisibility()}
- * <li class='jf'>{@link BeanContext#BEAN_beanFieldVisibility}
* </ul>
*
* @param value
@@ -418,7 +415,6 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanMethodVisibility()}
- * <li class='jf'>{@link BeanContext#BEAN_beanMethodVisibility}
* </ul>
*
* @param value
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
index a453f6a..b03a0af 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
@@ -1249,7 +1249,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Minimum bean class visibility.
*
- * @see BeanContext#BEAN_beanClassVisibility
+ * @see BeanContextBuilder#beanClassVisibility(Visibility)
* @return
* Classes are not considered beans unless they meet the minimum
visibility requirements.
*/
@@ -1260,7 +1260,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Minimum bean constructor visibility.
*
- * @see BeanContext#BEAN_beanConstructorVisibility
+ * @see BeanContextBuilder#beanConstructorVisibility(Visibility)
* @return
* Only look for constructors with this specified minimum
visibility.
*/
@@ -1284,7 +1284,7 @@ public class BeanSession extends Session {
* Configuration property: Minimum bean field visibility.
*
*
- * @see BeanContext#BEAN_beanFieldVisibility
+ * @see BeanContextBuilder#beanFieldVisibility(Visibility)
* @return
* Only look for bean fields with this specified minimum
visibility.
*/
@@ -1307,7 +1307,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Minimum bean method visibility.
*
- * @see BeanContext#BEAN_beanMethodVisibility
+ * @see BeanContextBuilder#beanMethodVisibility(Visibility)
* @return
* Only look for bean methods with this specified minimum
visibility.
*/
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Visibility.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Visibility.java
index 859d9a1..d91e82d 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Visibility.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/Visibility.java
@@ -25,10 +25,10 @@ import java.lang.reflect.*;
* <p>
* Used in conjunction with the following bean context properties:
* <ul class='javatree'>
- * <li class='jf'>{@link BeanContext#BEAN_beanConstructorVisibility}
- * <li class='jf'>{@link BeanContext#BEAN_beanClassVisibility}
- * <li class='jf'>{@link BeanContext#BEAN_beanFieldVisibility}
- * <li class='jf'>{@link BeanContext#BEAN_beanMethodVisibility}
+ * <li class='jm'>{@link
BeanContextBuilder#beanConstructorVisibility(Visibility)}
+ * <li class='jm'>{@link
BeanContextBuilder#beanClassVisibility(Visibility)}
+ * <li class='jm'>{@link
BeanContextBuilder#beanFieldVisibility(Visibility)}
+ * <li class='jm'>{@link
BeanContextBuilder#beanMethodVisibility(Visibility)}
* </ul>
*/
public enum Visibility {
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
index f1fcae9..37eef19 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
@@ -77,7 +77,6 @@ public @interface BeanConfig {
*
* <ul class='seealso'>
* <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanClassVisibility(Visibility)}
- * <li class='jf'>{@link BeanContext#BEAN_beanClassVisibility}
* </ul>
*/
String beanClassVisibility() default "";
@@ -108,7 +107,6 @@ public @interface BeanConfig {
*
* <ul class='seealso'>
* <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanConstructorVisibility(Visibility)}
- * <li class='jf'>{@link
BeanContext#BEAN_beanConstructorVisibility}
* </ul>
*/
String beanConstructorVisibility() default "";
@@ -139,7 +137,6 @@ public @interface BeanConfig {
*
* <ul class='seealso'>
* <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanFieldVisibility(Visibility)}
- * <li class='jf'>{@link BeanContext#BEAN_beanFieldVisibility}
* </ul>
*/
String beanFieldVisibility() default "";
@@ -196,7 +193,6 @@ public @interface BeanConfig {
*
* <ul class='seealso'>
* <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanMethodVisibility(Visibility)}
- * <li class='jf'>{@link BeanContext#BEAN_beanMethodVisibility}
* </ul>
*/
String beanMethodVisibility() default "";
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java
index e599d7b..3d54a8f 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java
@@ -45,13 +45,13 @@ public class BeanConfigAnnotation {
public void apply(AnnotationInfo<BeanConfig> ai,
BeanContextBuilder b) {
BeanConfig a = ai.getAnnotation();
- visibility(a.beanClassVisibility(),
"beanClassVisibility").ifPresent(x -> b.set(BEAN_beanClassVisibility, x));
- visibility(a.beanConstructorVisibility(),
"beanConstructorVisibility").ifPresent(x ->
b.set(BEAN_beanConstructorVisibility, x));
+ visibility(a.beanClassVisibility(),
"beanClassVisibility").ifPresent(x -> b.beanClassVisibility(x));
+ visibility(a.beanConstructorVisibility(),
"beanConstructorVisibility").ifPresent(x -> b.beanConstructorVisibility(x));
+ visibility(a.beanFieldVisibility(),
"beanFieldVisibility").ifPresent(x -> b.beanFieldVisibility(x));
+ visibility(a.beanMethodVisibility(),
"beanMethodVisibility").ifPresent(x -> b.beanMethodVisibility(x));
b.prependTo(BEAN_beanDictionary, a.dictionary());
b.setIfNotEmpty(BEAN_beanDictionary,
a.dictionary_replace());
- visibility(a.beanFieldVisibility(),
"beanFieldVisibility").ifPresent(x -> b.set(BEAN_beanFieldVisibility, x));
bool(a.beanMapPutReturnsOldValue()).ifPresent(x ->
b.set(BEAN_beanMapPutReturnsOldValue, x));
- visibility(a.beanMethodVisibility(),
"beanMethodVisibility").ifPresent(x -> b.set(BEAN_beanMethodVisibility, x));
bool(a.beansRequireDefaultConstructor()).ifPresent(x ->
b.set(BEAN_beansRequireDefaultConstructor, x));
bool(a.beansRequireSerializable()).ifPresent(x ->
b.set(BEAN_beansRequireSerializable, x));
bool(a.beansRequireSettersForGetters()).ifPresent(x ->
b.set(BEAN_beansRequireSettersForGetters, x));
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
index f554a9e..62e2c28 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
@@ -107,7 +107,7 @@ public @interface Beanp {
* However, this property can be used to assign a different property
name from the automatically inferred value.
*
* <p>
- * If the {@link BeanContext#BEAN_beanFieldVisibility} setting on the
bean context excludes this field (e.g. the
+ * If the {@link BeanContextBuilder#beanFieldVisibility(Visibility)}
setting on the bean context excludes this field (e.g. the
* visibility is set to PUBLIC, but the field is PROTECTED), this
annotation can be used to force the field to be
* identified as a property.
*