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 588e224ac7 org.apache.juneau.common.reflect API improvements
588e224ac7 is described below
commit 588e224ac7f64a68fc54e2e894fb5d92a79b0bd8
Author: James Bognar <[email protected]>
AuthorDate: Mon Nov 24 09:06:51 2025 -0500
org.apache.juneau.common.reflect API improvements
---
.../juneau/common/annotation/AnnotationObject.java | 39 +-------
.../apache/juneau/common/utils/ThrowableUtils.java | 4 +-
.../juneau/jena/annotation/RdfAnnotation.java | 12 +++
.../main/java/org/apache/juneau/UriResolver.java | 8 +-
.../apache/juneau/annotation/BeanAnnotation.java | 19 ++++
.../juneau/annotation/BeanIgnoreAnnotation.java | 21 ++++
.../apache/juneau/annotation/BeancAnnotation.java | 21 +++-
.../apache/juneau/annotation/BeanpAnnotation.java | 19 ++++
.../juneau/annotation/ExampleAnnotation.java | 19 ++++
.../juneau/annotation/ExternalDocsAnnotation.java | 21 ++++
.../apache/juneau/annotation/ItemsAnnotation.java | 19 ++++
.../juneau/annotation/MarshalledAnnotation.java | 19 ++++
.../juneau/annotation/NamePropertyAnnotation.java | 20 ++++
.../annotation/ParentPropertyAnnotation.java | 20 ++++
.../apache/juneau/annotation/SchemaAnnotation.java | 18 ++++
.../juneau/annotation/SubItemsAnnotation.java | 19 ++++
.../apache/juneau/annotation/SwapAnnotation.java | 19 ++++
.../apache/juneau/annotation/UriAnnotation.java | 20 ++++
.../juneau/csv/annotation/CsvAnnotation.java | 20 ++++
.../apache/juneau/html/HtmlSerializerSession.java | 50 +++++-----
.../juneau/html/annotation/HtmlAnnotation.java | 25 ++++-
.../juneau/html/annotation/HtmlLinkAnnotation.java | 19 ++++
.../juneau/http/annotation/ContactAnnotation.java | 21 ++++
.../juneau/http/annotation/ContentAnnotation.java | 15 ++-
.../juneau/http/annotation/FormDataAnnotation.java | 19 ++++
.../http/annotation/HasFormDataAnnotation.java | 21 ++++
.../juneau/http/annotation/HasQueryAnnotation.java | 21 ++++
.../juneau/http/annotation/HeaderAnnotation.java | 19 ++++
.../juneau/http/annotation/LicenseAnnotation.java | 21 ++++
.../juneau/http/annotation/PathAnnotation.java | 19 ++++
.../http/annotation/PathRemainderAnnotation.java | 17 ++--
.../juneau/http/annotation/QueryAnnotation.java | 19 ++++
.../juneau/http/annotation/RequestAnnotation.java | 19 ++++
.../juneau/http/annotation/ResponseAnnotation.java | 19 ++++
.../http/annotation/StatusCodeAnnotation.java | 19 ++++
.../juneau/http/annotation/TagAnnotation.java | 21 ++++
.../juneau/httppart/bean/ResponseBeanMeta.java | 4 +-
.../juneau/json/annotation/JsonAnnotation.java | 19 ++++
.../msgpack/annotation/MsgPackAnnotation.java | 20 ++++
.../apache/juneau/oapi/OpenApiParserSession.java | 108 ++++++++++-----------
.../juneau/oapi/annotation/OpenApiAnnotation.java | 20 ++++
.../juneau/objecttools/StringMatcherFactory.java | 4 +-
.../plaintext/annotation/PlainTextAnnotation.java | 20 ++++
.../juneau/soap/annotation/SoapXmlAnnotation.java | 20 ++++
.../juneau/uon/annotation/UonAnnotation.java | 20 ++++
.../annotation/UrlEncodingAnnotation.java | 19 ++++
.../org/apache/juneau/xml/XmlParserSession.java | 6 +-
.../juneau/xml/annotation/XmlAnnotation.java | 19 ++++
.../rest/annotation/OpSwaggerAnnotation.java | 21 ++++
.../juneau/rest/annotation/RestAnnotation.java | 19 ++++
.../rest/annotation/RestDeleteAnnotation.java | 19 ++++
.../rest/annotation/RestDestroyAnnotation.java | 23 +++++
.../rest/annotation/RestEndCallAnnotation.java | 23 +++++
.../juneau/rest/annotation/RestGetAnnotation.java | 19 ++++
.../juneau/rest/annotation/RestInitAnnotation.java | 23 +++++
.../rest/annotation/RestInjectAnnotation.java | 24 ++++-
.../juneau/rest/annotation/RestOpAnnotation.java | 19 ++++
.../rest/annotation/RestOptionsAnnotation.java | 19 ++++
.../rest/annotation/RestPatchAnnotation.java | 18 ++++
.../juneau/rest/annotation/RestPostAnnotation.java | 19 ++++
.../rest/annotation/RestPostCallAnnotation.java | 23 +++++
.../rest/annotation/RestPostInitAnnotation.java | 21 ++++
.../rest/annotation/RestPreCallAnnotation.java | 23 +++++
.../juneau/rest/annotation/RestPutAnnotation.java | 19 ++++
.../rest/annotation/RestStartCallAnnotation.java | 23 +++++
.../juneau/rest/annotation/SwaggerAnnotation.java | 19 ++++
66 files changed, 1224 insertions(+), 150 deletions(-)
diff --git
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/annotation/AnnotationObject.java
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/annotation/AnnotationObject.java
index 8af987eed6..09795dbaa4 100644
---
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/annotation/AnnotationObject.java
+++
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/annotation/AnnotationObject.java
@@ -53,7 +53,6 @@ public class AnnotationObject implements Annotation {
public static class Builder<B> {
Class<? extends Annotation> annotationType;
- String[] description = {};
/**
* Constructor.
@@ -64,32 +63,12 @@ public class AnnotationObject implements Annotation {
this.annotationType = annotationType;
}
- /**
- * Sets the {@link AnnotationObject#description()} property on the
target annotation.
- *
- * @param value The new value for this property.
- * @return This object.
- * @since 9.2.0
- */
- @SuppressWarnings("unchecked")
- public B description(final String...value) {
- description = value;
- return (B)this;
- }
-
- /**
- * Returns the annotation type being built.
- *
- * @return The annotation type being built.
- */
- public Class<? extends Annotation> getAnnotationType() { return
annotationType; }
-
/**
- * Returns the description of this annotation builder.
+ * Returns the annotation type being built.
*
- * @return The description array, or <jk>null</jk> if not set.
+ * @return The annotation type being built.
*/
- public String[] getDescription() { return description; }
+ public Class<? extends Annotation> getAnnotationType() { return
annotationType; }
}
//-----------------------------------------------------------------------------------------------------------------
@@ -97,7 +76,6 @@ public class AnnotationObject implements Annotation {
//-----------------------------------------------------------------------------------------------------------------
private final Class<? extends Annotation> annotationType;
- private final String[] description;
private int hashCode = -1;
/**
@@ -107,7 +85,6 @@ public class AnnotationObject implements Annotation {
*/
public AnnotationObject(Builder<?> b) {
this.annotationType = b.getAnnotationType();
- this.description = copyOf(b.getDescription());
}
/**
@@ -120,16 +97,6 @@ public class AnnotationObject implements Annotation {
return annotationType;
}
- /**
- * Returns the annotation description.
- *
- * @return the annotation description.
- * @since 9.2.0
- */
- public String[] description() {
- return description;
- }
-
@Override /* Overridden from Object */
public boolean equals(Object o) {
if (! annotationType.isInstance(o))
diff --git
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/ThrowableUtils.java
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/ThrowableUtils.java
index fbf5870c9b..f5138187e3 100644
---
a/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/ThrowableUtils.java
+++
b/juneau-core/juneau-common/src/main/java/org/apache/juneau/common/utils/ThrowableUtils.java
@@ -74,9 +74,9 @@ public class ThrowableUtils {
if (cause.isInstance(e))
return opt(cause.cast(e));
e = e.getCause();
+ }
+ return opte();
}
- return opte();
-}
/**
* Convenience method for getting a stack trace as a string.
diff --git
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfAnnotation.java
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfAnnotation.java
index 337c786322..a211c40916 100644
---
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfAnnotation.java
+++
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfAnnotation.java
@@ -63,6 +63,7 @@ public class RdfAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
String namespace = "", prefix = "";
boolean beanUri;
RdfCollectionFormat collectionFormat =
RdfCollectionFormat.DEFAULT;
@@ -94,6 +95,17 @@ public class RdfAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Rdf#collectionFormat} property on this
annotation.
*
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriResolver.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriResolver.java
index 6bde56e2f7..be2f8d1edc 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriResolver.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriResolver.java
@@ -131,10 +131,10 @@ public class UriResolver {
*/
public Appendable append(Appendable a, Object o) {
- try {
- var uri = s(o);
- uri = nullIfEmpty(uri);
- var needsNormalize = hasDotSegments(uri) && nn(resolution);
+ try {
+ var uri = s(o);
+ uri = nullIfEmpty(uri);
+ var needsNormalize = hasDotSegments(uri) &&
nn(resolution);
// Absolute paths are not changed.
if (isAbsoluteUri(uri))
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
index 7681e312d2..d02cc58255 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanAnnotation.java
@@ -82,6 +82,7 @@ public class BeanAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderT<Builder> {
+ String[] description = {};
Class<?>[] dictionary = new Class[0];
Class<?> implClass = void.class;
Class<?> interfaceClass = void.class;
@@ -107,6 +108,17 @@ public class BeanAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Bean#dictionary()} property on this
annotation.
*
@@ -320,6 +332,7 @@ public class BeanAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Bean {
+ private final String[] description;
private final boolean findFluentSetters, sort;
private final Class<? extends BeanInterceptor<?>> interceptor;
private final Class<? extends PropertyNamer> propertyNamer;
@@ -329,6 +342,7 @@ public class BeanAnnotation {
Object(BeanAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.dictionary = copyOf(b.dictionary);
this.example = b.example;
this.excludeProperties = b.excludeProperties;
@@ -445,6 +459,11 @@ public class BeanAnnotation {
public String xp() {
return xp;
}
+
+ @Override /* Overridden from Bean */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnoreAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnoreAnnotation.java
index bd88329f8f..2d01a72a79 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnoreAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanIgnoreAnnotation.java
@@ -81,6 +81,8 @@ public class BeanIgnoreAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMFC<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -97,14 +99,33 @@ public class BeanIgnoreAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
}
private static class Object extends AppliedOnClassAnnotationObject
implements BeanIgnore {
+ private final String[] description;
+
Object(BeanIgnoreAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from BeanIgnore */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeancAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeancAnnotation.java
index d0cfaff615..4f7143fdf6 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeancAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeancAnnotation.java
@@ -81,6 +81,7 @@ public class BeancAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderC<Builder> {
+ String[] description = {};
String properties = "";
/**
@@ -99,6 +100,17 @@ public class BeancAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Beanc#properties()} property on this
annotation.
*
@@ -114,14 +126,21 @@ public class BeancAnnotation {
private static class Object extends AppliedAnnotationObject implements
Beanc {
- private String properties = "";
+ private final String[] description;
+ private final String properties;
Object(BeancAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.properties = b.properties;
postConstruct();
}
+ @Override /* Overridden from Beanc */
+ public String[] description() {
+ return description;
+ }
+
@Override /* Overridden from Beanc */
public String properties() {
return properties;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
index f78e24c8ca..5e001c52f3 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanpAnnotation.java
@@ -81,6 +81,7 @@ public class BeanpAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderMF<Builder> {
+ String[] description = {};
Class<?> type = void.class;
Class<?>[] dictionary = new Class[0], params = new Class[0];
String format = "", name = "", properties = "", ro = "", value
= "", wo = "";
@@ -101,6 +102,17 @@ public class BeanpAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Beanp#dictionary()} property on this
annotation.
*
@@ -204,12 +216,14 @@ public class BeanpAnnotation {
private static class Object extends AppliedAnnotationObject implements
Beanp {
+ private final String[] description;
private final Class<?> type;
private final Class<?>[] params, dictionary;
private final String name, value, properties, format, ro, wo;
Object(BeanpAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.dictionary = copyOf(b.dictionary);
this.format = b.format;
this.name = b.name;
@@ -266,6 +280,11 @@ public class BeanpAnnotation {
public String wo() {
return wo;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExampleAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExampleAnnotation.java
index 89e7cbc965..96d7df9dc7 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExampleAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExampleAnnotation.java
@@ -81,6 +81,7 @@ public class ExampleAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
String value = "";
/**
@@ -99,6 +100,17 @@ public class ExampleAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the <c>value</c> property on this annotation.
*
@@ -114,10 +126,12 @@ public class ExampleAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Example {
+ private final String[] description;
private final String value;
Object(ExampleAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.value = b.value;
postConstruct();
}
@@ -126,6 +140,11 @@ public class ExampleAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExternalDocsAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExternalDocsAnnotation.java
index 72cf314473..9011d698c0 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExternalDocsAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ExternalDocsAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import static org.apache.juneau.jsonschema.SchemaUtils.*;
import java.lang.annotation.*;
@@ -40,6 +42,7 @@ public class ExternalDocsAnnotation {
*/
public static class Builder extends AnnotationObject.Builder<Builder> {
+ String[] description = {};
String url = "";
/**
@@ -58,6 +61,17 @@ public class ExternalDocsAnnotation {
return new Impl(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link ExternalDocs#url} property on this
annotation.
*
@@ -73,10 +87,12 @@ public class ExternalDocsAnnotation {
private static class Impl extends AnnotationObject implements
ExternalDocs {
+ private final String[] description;
private final String url;
Impl(ExternalDocsAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.url = b.url;
postConstruct();
}
@@ -85,6 +101,11 @@ public class ExternalDocsAnnotation {
public String url() {
return url;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ItemsAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ItemsAnnotation.java
index d5b33c5d84..ad9929206a 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ItemsAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ItemsAnnotation.java
@@ -36,6 +36,7 @@ public class ItemsAnnotation {
*/
public static class Builder extends AnnotationObject.Builder<Builder> {
+ String[] description = {};
boolean emax, emin, exclusiveMaximum, exclusiveMinimum, ui,
uniqueItems;
long maxItems = -1, maxLength = -1, maxi = -1, maxl = -1,
minItems = -1, minLength = -1, mini = -1, minl = -1;
String $ref = "", cf = "", collectionFormat = "", f = "",
format = "", max = "", maximum = "", min = "", minimum = "", mo = "",
multipleOf = "", p = "", pattern = "", t = "", type = "";
@@ -91,6 +92,17 @@ public class ItemsAnnotation {
return new Impl(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Items#cf} property on this annotation.
*
@@ -436,6 +448,7 @@ public class ItemsAnnotation {
private static class Impl extends AnnotationObject implements Items {
+ private final String[] description;
private final boolean emax, emin, exclusiveMaximum,
exclusiveMinimum, ui, uniqueItems;
private final long maxi, maxItems, maxl, maxLength, mini,
minItems, minl, minLength;
private final String $ref, cf, collectionFormat, f, format,
max, maximum, min, minimum, mo, multipleOf, p, pattern, t, type;
@@ -444,6 +457,7 @@ public class ItemsAnnotation {
Impl(ItemsAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.$ref = b.$ref;
this._default = copyOf(b._default);
this._enum = copyOf(b._enum);
@@ -650,6 +664,11 @@ public class ItemsAnnotation {
public boolean uniqueItems() {
return uniqueItems;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
index 71dfe6a7dd..84e95d902e 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/MarshalledAnnotation.java
@@ -81,6 +81,7 @@ public class MarshalledAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderT<Builder> {
+ String[] description = {};
Class<?> implClass = void.class;
String example = "";
@@ -100,6 +101,17 @@ public class MarshalledAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Marshalled#example()} property on this
annotation.
*
@@ -126,11 +138,13 @@ public class MarshalledAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Marshalled {
+ private final String[] description;
private final Class<?> implClass;
private final String example;
Object(MarshalledAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.example = b.example;
this.implClass = b.implClass;
postConstruct();
@@ -145,6 +159,11 @@ public class MarshalledAnnotation {
public Class<?> implClass() {
return implClass;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NamePropertyAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NamePropertyAnnotation.java
index fcc05179ce..bfc9b07a54 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NamePropertyAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/NamePropertyAnnotation.java
@@ -81,6 +81,8 @@ public class NamePropertyAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderMF<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -97,14 +99,32 @@ public class NamePropertyAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
}
private static class Object extends AppliedAnnotationObject implements
NameProperty {
+ private final String[] description;
+
Object(NamePropertyAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from NameProperty */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentPropertyAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentPropertyAnnotation.java
index e12c436b0c..e2174da493 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentPropertyAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/ParentPropertyAnnotation.java
@@ -81,6 +81,8 @@ public class ParentPropertyAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderMF<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -97,14 +99,32 @@ public class ParentPropertyAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
}
private static class Object extends AppliedAnnotationObject implements
ParentProperty {
+ private final String[] description;
+
Object(ParentPropertyAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
index ee1c645696..0af383c220 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SchemaAnnotation.java
@@ -270,6 +270,17 @@ public class SchemaAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Schema#cf} property on this annotation.
*
@@ -927,6 +938,7 @@ public class SchemaAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Schema {
+ private final String[] description;
private final boolean aev, allowEmptyValue, exclusiveMaximum,
emax, exclusiveMinimum, emin, uniqueItems, ui, required, r, readOnly, ro, sie,
skipIfEmpty, ignore;
private final ExternalDocs externalDocs;
private final Items items;
@@ -940,6 +952,7 @@ public class SchemaAnnotation {
Object(SchemaAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.$ref = b.$ref;
this._default = copyOf(b._default);
this._enum = copyOf(b._enum);
@@ -1385,6 +1398,11 @@ public class SchemaAnnotation {
public String[] xml() {
return xml;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
index dad707eb54..bc4a6918e7 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SubItemsAnnotation.java
@@ -42,6 +42,7 @@ public class SubItemsAnnotation {
*/
public static class Builder extends AnnotationObject.Builder<Builder> {
+ String[] description = {};
String $ref = "", cf = "", collectionFormat = "", f = "",
format = "", max = "", maximum = "", min = "", minimum = "", mo = "",
multipleOf = "", p = "", pattern = "", t = "", type = "";
long maxItems = -1, maxLength = -1, maxi = -1, maxl = -1,
minItems = -1, minLength = -1, mini = -1, minl = -1;
boolean emax, emin, exclusiveMaximum, exclusiveMinimum, ui,
uniqueItems;
@@ -96,6 +97,17 @@ public class SubItemsAnnotation {
return new Impl(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the <c>cf</c> property on this annotation.
*
@@ -441,6 +453,7 @@ public class SubItemsAnnotation {
private static class Impl extends AnnotationObject implements SubItems {
+ private final String[] description;
private final boolean emax, emin, exclusiveMaximum,
exclusiveMinimum, ui, uniqueItems;
private final long maxi, maxItems, maxl, maxLength, mini,
minItems, minl, minLength;
private final String $ref, cf, collectionFormat, f, format,
max, maximum, min, minimum, mo, multipleOf, p, pattern, t, type;
@@ -448,6 +461,7 @@ public class SubItemsAnnotation {
Impl(SubItemsAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.$ref = b.$ref;
this._default = copyOf(b._default);
this._enum = copyOf(b._enum);
@@ -654,6 +668,11 @@ public class SubItemsAnnotation {
public boolean uniqueItems() {
return uniqueItems;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
index 078c79483d..4594ddc1f0 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/SwapAnnotation.java
@@ -81,6 +81,7 @@ public class SwapAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
Class<?> impl = void.class;
Class<?> value = void.class;
String template = "";
@@ -102,6 +103,17 @@ public class SwapAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Swap#impl()} property on this annotation.
*
@@ -150,12 +162,14 @@ public class SwapAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Swap {
+ private final String[] description;
private final Class<?> impl, value;
private final String template;
private final String[] mediaTypes;
Object(SwapAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.impl = b.impl;
this.mediaTypes = copyOf(b.mediaTypes);
this.template = b.template;
@@ -182,6 +196,11 @@ public class SwapAnnotation {
public Class<?> value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/UriAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/UriAnnotation.java
index e2adf6a146..8ab305063d 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/UriAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/UriAnnotation.java
@@ -81,6 +81,8 @@ public class UriAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -97,14 +99,32 @@ public class UriAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
}
private static class Object extends AppliedOnClassAnnotationObject
implements Uri {
+ private final String[] description;
+
Object(UriAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvAnnotation.java
index a16e34eabd..6e30c0bfbc 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/annotation/CsvAnnotation.java
@@ -81,6 +81,8 @@ public class CsvAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -97,14 +99,32 @@ public class CsvAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
}
private static class Object extends AppliedOnClassAnnotationObject
implements Csv {
+ private final String[] description;
+
Object(CsvAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
index 795729f4dc..06e39d885d 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
@@ -232,31 +232,31 @@ public class HtmlSerializerSession extends
XmlSerializerSession {
if (m.find())
return urlDecode(m.group(1));
}
- return switch (getUriAnchorText()) {
- case LAST_TOKEN -> {
- s = resolveUri(s);
- if (s.indexOf('/') != -1)
- s = s.substring(s.lastIndexOf('/') + 1);
- if (s.indexOf('?') != -1)
- s = s.substring(0, s.indexOf('?'));
- if (s.indexOf('#') != -1)
- s = s.substring(0, s.indexOf('#'));
- if (s.isEmpty())
- s = "/";
- yield urlDecode(s);
- }
- case URI_ANCHOR -> {
- if (s.indexOf('#') != -1)
- s = s.substring(s.lastIndexOf('#') + 1);
- yield urlDecode(s);
- }
- case PROPERTY_NAME -> pMeta == null ? s : pMeta.getName();
- case URI -> resolveUri(s);
- case CONTEXT_RELATIVE -> relativizeUri("context:/", s);
- case SERVLET_RELATIVE -> relativizeUri("servlet:/", s);
- case PATH_RELATIVE -> relativizeUri("request:/", s);
- default /* TO_STRING */ -> s;
- };
+ return switch (getUriAnchorText()) {
+ case LAST_TOKEN -> {
+ s = resolveUri(s);
+ if (s.indexOf('/') != -1)
+ s = s.substring(s.lastIndexOf('/') + 1);
+ if (s.indexOf('?') != -1)
+ s = s.substring(0, s.indexOf('?'));
+ if (s.indexOf('#') != -1)
+ s = s.substring(0, s.indexOf('#'));
+ if (s.isEmpty())
+ s = "/";
+ yield urlDecode(s);
+ }
+ case URI_ANCHOR -> {
+ if (s.indexOf('#') != -1)
+ s = s.substring(s.lastIndexOf('#') + 1);
+ yield urlDecode(s);
+ }
+ case PROPERTY_NAME -> pMeta == null ? s :
pMeta.getName();
+ case URI -> resolveUri(s);
+ case CONTEXT_RELATIVE -> relativizeUri("context:/", s);
+ case SERVLET_RELATIVE -> relativizeUri("servlet:/", s);
+ case PATH_RELATIVE -> relativizeUri("request:/", s);
+ default /* TO_STRING */ -> s;
+ };
}
@Override /* Overridden from XmlSerializer */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlAnnotation.java
index 6a8e7b7c56..a1e46ee3de 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlAnnotation.java
@@ -86,6 +86,7 @@ public class HtmlAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
String anchorText = "", link = "", style = "";
HtmlFormat format = HtmlFormat.HTML;
boolean noTableHeaders, noTables;
@@ -118,6 +119,17 @@ public class HtmlAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Html#format()} property on this annotation.
*
@@ -188,13 +200,15 @@ public class HtmlAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Html {
- private boolean noTableHeaders, noTables;
- private Class<? extends HtmlRender> render;
+ private final String[] description;
+ private final boolean noTableHeaders, noTables;
+ private final Class<? extends HtmlRender> render;
private final String anchorText, link, style;
- private HtmlFormat format;
+ private final HtmlFormat format;
Object(HtmlAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.anchorText = b.anchorText;
this.format = b.format;
this.link = b.link;
@@ -239,6 +253,11 @@ public class HtmlAnnotation {
public String style() {
return style;
}
+
+ @Override /* Overridden from Html */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation.java
index 0ee99c4ddb..e985ddb267 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlLinkAnnotation.java
@@ -84,6 +84,7 @@ public class HtmlLinkAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderT<Builder> {
+ String[] description = {};
String nameProperty = "", uriProperty = "";
/**
@@ -102,6 +103,17 @@ public class HtmlLinkAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link HtmlLink#nameProperty()} property on this
annotation.
*
@@ -128,10 +140,12 @@ public class HtmlLinkAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements HtmlLink {
+ private final String[] description;
private final String nameProperty, uriProperty;
Object(HtmlLinkAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.nameProperty = b.nameProperty;
this.uriProperty = b.uriProperty;
postConstruct();
@@ -146,6 +160,11 @@ public class HtmlLinkAnnotation {
public String uriProperty() {
return uriProperty;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContactAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContactAnnotation.java
index 22c2660895..80ec9101d0 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContactAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContactAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.http.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import java.lang.annotation.*;
import org.apache.juneau.common.annotation.*;
@@ -34,6 +36,7 @@ public class ContactAnnotation {
*/
public static class Builder extends AnnotationObject.Builder<Builder> {
+ String[] description = {};
String email = "", name = "", url = "";
/**
@@ -52,6 +55,17 @@ public class ContactAnnotation {
return new Impl(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Contact#email} property on this annotation.
*
@@ -89,10 +103,12 @@ public class ContactAnnotation {
private static class Impl extends AnnotationObject implements Contact {
+ private final String[] description;
private final String email, name, url;
Impl(ContactAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.email = b.email;
this.name = b.name;
this.url = b.url;
@@ -113,6 +129,11 @@ public class ContactAnnotation {
public String url() {
return url;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContentAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContentAnnotation.java
index 3a6d13fa3a..84ad05ba15 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContentAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ContentAnnotation.java
@@ -119,7 +119,6 @@ public class ContentAnnotation {
* @param value The new value for this property.
* @return This object.
*/
- @Override
public Builder description(String...value) {
this.description = value;
return this;
@@ -140,14 +139,14 @@ public class ContentAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Content {
- private final String def;
private final String[] description;
+ private final String def;
private final Schema schema;
Object(ContentAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.def = b.def;
- this.description = b.description;
this.schema = b.schema;
postConstruct();
}
@@ -157,15 +156,15 @@ public class ContentAnnotation {
return def;
}
- @Override /* Overridden from Content */
- public String[] description() {
- return description;
- }
-
@Override /* Overridden from Content */
public Schema schema() {
return schema;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
index 9965ac88c4..de39c25ba6 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/FormDataAnnotation.java
@@ -89,6 +89,7 @@ public class FormDataAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
Class<? extends HttpPartParser> parser =
HttpPartParser.Void.class;
Class<? extends HttpPartSerializer> serializer =
HttpPartSerializer.Void.class;
Schema schema = SchemaAnnotation.DEFAULT;
@@ -110,6 +111,17 @@ public class FormDataAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link FormData#def} property on this annotation.
*
@@ -180,6 +192,7 @@ public class FormDataAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements FormData {
+ private final String[] description;
private final Class<? extends HttpPartParser> parser;
private final Class<? extends HttpPartSerializer> serializer;
private final String name, value, def;
@@ -187,6 +200,7 @@ public class FormDataAnnotation {
Object(FormDataAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.def = b.def;
this.name = b.name;
this.parser = b.parser;
@@ -225,6 +239,11 @@ public class FormDataAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasFormDataAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasFormDataAnnotation.java
index 2884d18c45..6ee4f205a2 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasFormDataAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasFormDataAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.http.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import java.lang.annotation.*;
import org.apache.juneau.common.annotation.*;
@@ -34,6 +36,7 @@ public class HasFormDataAnnotation {
*/
public static class Builder extends AnnotationObject.Builder<Builder> {
+ String[] description = {};
String name = "", value = "";
/**
@@ -52,6 +55,17 @@ public class HasFormDataAnnotation {
return new Impl(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link HasFormData#name} property on this
annotation.
*
@@ -78,10 +92,12 @@ public class HasFormDataAnnotation {
private static class Impl extends AnnotationObject implements
HasFormData {
+ private final String[] description;
private final String name, value;
Impl(HasFormDataAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.name = b.name;
this.value = b.value;
postConstruct();
@@ -96,6 +112,11 @@ public class HasFormDataAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasQueryAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasQueryAnnotation.java
index 6b2613e384..af337a69d6 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasQueryAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HasQueryAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.http.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import java.lang.annotation.*;
import org.apache.juneau.common.annotation.*;
@@ -34,6 +36,7 @@ public class HasQueryAnnotation {
*/
public static class Builder extends AnnotationObject.Builder<Builder> {
+ String[] description = {};
String name = "", value = "";
/**
@@ -52,6 +55,17 @@ public class HasQueryAnnotation {
return new Impl(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link HasQuery#name} property on this annotation.
*
@@ -78,10 +92,12 @@ public class HasQueryAnnotation {
private static class Impl extends AnnotationObject implements HasQuery {
+ private final String[] description;
private final String name, value;
Impl(HasQueryAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.name = b.name;
this.value = b.value;
postConstruct();
@@ -96,6 +112,11 @@ public class HasQueryAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
index 1cab753105..86d73ad487 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/HeaderAnnotation.java
@@ -89,6 +89,7 @@ public class HeaderAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
Class<? extends HttpPartParser> parser =
HttpPartParser.Void.class;
Class<? extends HttpPartSerializer> serializer =
HttpPartSerializer.Void.class;
Schema schema = SchemaAnnotation.DEFAULT;
@@ -110,6 +111,17 @@ public class HeaderAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Header#def} property on this annotation.
*
@@ -180,6 +192,7 @@ public class HeaderAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Header {
+ private final String[] description;
private final Class<? extends HttpPartParser> parser;
private final Class<? extends HttpPartSerializer> serializer;
private final String name, value, def;
@@ -187,6 +200,7 @@ public class HeaderAnnotation {
Object(HeaderAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.def = b.def;
this.name = b.name;
this.parser = b.parser;
@@ -225,6 +239,11 @@ public class HeaderAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/LicenseAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/LicenseAnnotation.java
index 98c7a8bd0f..7aff727c4a 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/LicenseAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/LicenseAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.http.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import java.lang.annotation.*;
import org.apache.juneau.common.annotation.*;
@@ -34,6 +36,7 @@ public class LicenseAnnotation {
*/
public static class Builder extends AnnotationObject.Builder<Builder> {
+ String[] description = {};
String name = "", url = "";
/**
@@ -52,6 +55,17 @@ public class LicenseAnnotation {
return new Impl(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link License#name} property on this annotation.
*
@@ -78,10 +92,12 @@ public class LicenseAnnotation {
private static class Impl extends AnnotationObject implements License {
+ private final String[] description;
private final String name, url;
Impl(LicenseAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.name = b.name;
this.url = b.url;
postConstruct();
@@ -96,6 +112,11 @@ public class LicenseAnnotation {
public String url() {
return url;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
index 7bface495a..7340a75591 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathAnnotation.java
@@ -90,6 +90,7 @@ public class PathAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
Class<? extends HttpPartParser> parser =
HttpPartParser.Void.class;
Class<? extends HttpPartSerializer> serializer =
HttpPartSerializer.Void.class;
Schema schema = SchemaAnnotation.DEFAULT;
@@ -111,6 +112,17 @@ public class PathAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Path#name} property on this annotation.
*
@@ -181,6 +193,7 @@ public class PathAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Path {
+ private final String[] description;
private final Class<? extends HttpPartParser> parser;
private final Class<? extends HttpPartSerializer> serializer;
private final String name, value, def;
@@ -188,6 +201,7 @@ public class PathAnnotation {
Object(PathAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.def = b.def;
this.name = b.name;
this.parser = b.parser;
@@ -226,6 +240,11 @@ public class PathAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathRemainderAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathRemainderAnnotation.java
index 6b17cd07e4..036f833c0e 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathRemainderAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/PathRemainderAnnotation.java
@@ -95,10 +95,10 @@ public class PathRemainderAnnotation {
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
Class<? extends HttpPartParser> parser =
HttpPartParser.Void.class;
+ String[] description = {};
Class<? extends HttpPartSerializer> serializer =
HttpPartSerializer.Void.class;
Schema schema = SchemaAnnotation.DEFAULT;
String def = "";
- String[] description = {};
/**
* Constructor.
@@ -133,7 +133,6 @@ public class PathRemainderAnnotation {
* @param value The new value for this property.
* @return This object.
*/
- @Override
public Builder description(String...value) {
this.description = value;
return this;
@@ -175,16 +174,16 @@ public class PathRemainderAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements PathRemainder {
+ private final String[] description;
private final Class<? extends HttpPartParser> parser;
private final Class<? extends HttpPartSerializer> serializer;
private final String def;
- private final String[] description;
private final Schema schema;
Object(PathRemainderAnnotation.Builder b) {
super(b);
- this.def = b.def;
this.description = copyOf(b.description);
+ this.def = b.def;
this.parser = b.parser;
this.schema = b.schema;
this.serializer = b.serializer;
@@ -196,11 +195,6 @@ public class PathRemainderAnnotation {
return def;
}
- @Override /* Overridden from PathRemainder */
- public String[] description() {
- return description;
- }
-
@Override /* Overridden from PathRemainder */
public Class<? extends HttpPartParser> parser() {
return parser;
@@ -215,6 +209,11 @@ public class PathRemainderAnnotation {
public Class<? extends HttpPartSerializer> serializer() {
return serializer;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
index 6d9a7b2c46..083fc7c60c 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/QueryAnnotation.java
@@ -89,6 +89,7 @@ public class QueryAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
Class<? extends HttpPartParser> parser =
HttpPartParser.Void.class;
Class<? extends HttpPartSerializer> serializer =
HttpPartSerializer.Void.class;
Schema schema = SchemaAnnotation.DEFAULT;
@@ -110,6 +111,17 @@ public class QueryAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Query#def} property on this annotation.
*
@@ -180,6 +192,7 @@ public class QueryAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Query {
+ private final String[] description;
private final Class<? extends HttpPartParser> parser;
private final Class<? extends HttpPartSerializer> serializer;
private final String name, value, def;
@@ -187,6 +200,7 @@ public class QueryAnnotation {
Object(QueryAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.name = b.name;
this.parser = b.parser;
this.schema = b.schema;
@@ -225,6 +239,11 @@ public class QueryAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
index 2e153f2d6a..25c498e430 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/RequestAnnotation.java
@@ -82,6 +82,7 @@ public class RequestAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderT<Builder> {
+ String[] description = {};
Class<? extends HttpPartParser> parser =
HttpPartParser.Void.class;
Class<? extends HttpPartSerializer> serializer =
HttpPartSerializer.Void.class;
@@ -101,6 +102,17 @@ public class RequestAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Request#parser} property on this annotation.
*
@@ -127,11 +139,13 @@ public class RequestAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Request {
+ private final String[] description;
private final Class<? extends HttpPartParser> parser;
private final Class<? extends HttpPartSerializer> serializer;
Object(RequestAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.parser = b.parser;
this.serializer = b.serializer;
postConstruct();
@@ -146,6 +160,11 @@ public class RequestAnnotation {
public Class<? extends HttpPartSerializer> serializer() {
return serializer;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
index ec75f78e4c..f3b9a3c51b 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/ResponseAnnotation.java
@@ -83,6 +83,7 @@ public class ResponseAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTM<Builder> {
+ String[] description = {};
Class<? extends HttpPartParser> parser =
HttpPartParser.Void.class;
Class<? extends HttpPartSerializer> serializer =
HttpPartSerializer.Void.class;
Header[] headers = {};
@@ -105,6 +106,17 @@ public class ResponseAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Response#examples} property on this
annotation.
*
@@ -164,6 +176,7 @@ public class ResponseAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Response {
+ private final String[] description;
private final Class<? extends HttpPartParser> parser;
private final Class<? extends HttpPartSerializer> serializer;
private final Header[] headers;
@@ -172,6 +185,7 @@ public class ResponseAnnotation {
Object(ResponseAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.examples = copyOf(b.examples);
this.headers = copyOf(b.headers);
this.parser = b.parser;
@@ -204,6 +218,11 @@ public class ResponseAnnotation {
public Class<? extends HttpPartSerializer> serializer() {
return serializer;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCodeAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCodeAnnotation.java
index b55c53312a..d6da8d0950 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCodeAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/StatusCodeAnnotation.java
@@ -82,6 +82,7 @@ public class StatusCodeAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTM<Builder> {
+ String[] description = {};
int value[] = {};
/**
@@ -100,6 +101,17 @@ public class StatusCodeAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link StatusCode#value} property on this
annotation.
*
@@ -115,10 +127,12 @@ public class StatusCodeAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements StatusCode {
+ private final String[] description;
private final int[] value;
Object(StatusCodeAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.value = Arrays.copyOf(b.value, b.value.length);
postConstruct();
}
@@ -127,6 +141,11 @@ public class StatusCodeAnnotation {
public int[] value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/TagAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/TagAnnotation.java
index 3a67c532f7..ff8b863c2b 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/TagAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/annotation/TagAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.http.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import java.lang.annotation.*;
import org.apache.juneau.annotation.*;
@@ -35,6 +37,7 @@ public class TagAnnotation {
*/
public static class Builder extends AnnotationObject.Builder<Builder> {
+ String[] description = {};
ExternalDocs externalDocs = ExternalDocsAnnotation.DEFAULT;
String name = "";
@@ -54,6 +57,17 @@ public class TagAnnotation {
return new Impl(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Tag#externalDocs} property on this
annotation.
*
@@ -80,11 +94,13 @@ public class TagAnnotation {
private static class Impl extends AnnotationObject implements Tag {
+ private final String[] description;
private final ExternalDocs externalDocs;
private final String name;
Impl(TagAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.externalDocs = b.externalDocs;
this.name = b.name;
postConstruct();
@@ -99,6 +115,11 @@ public class TagAnnotation {
public String name() {
return name;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
index 4d01c3adce..36034d0a7b 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/bean/ResponseBeanMeta.java
@@ -128,7 +128,7 @@ public class ResponseBeanMeta {
return null;
var b = new Builder(annotations);
b.apply(m.getReturnType().unwrap(Value.class,
Optional.class).innerType());
- var ap = AP;
+ var ap = AP;
rstream(ap.find(Response.class, m)).forEach(x ->
b.apply(x.inner()));
rstream(ap.find(StatusCode.class, m)).forEach(x ->
b.apply(x.inner()));
return b.build();
@@ -164,7 +164,7 @@ public class ResponseBeanMeta {
return null;
var b = new Builder(annotations);
b.apply(ci.innerType());
- var ai = AP;
+ var ai = AP;
rstream(ai.find(Response.class, ci)).forEach(x ->
b.apply(x.inner()));
rstream(ai.find(StatusCode.class, ci)).forEach(x ->
b.apply(x.inner()));
return b.build();
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonAnnotation.java
index 817d4347be..eba65559d0 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonAnnotation.java
@@ -84,6 +84,7 @@ public class JsonAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
String wrapperAttr = "";
/**
@@ -102,6 +103,17 @@ public class JsonAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Json#wrapperAttr} property on this
annotation.
*
@@ -117,10 +129,12 @@ public class JsonAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Json {
+ private final String[] description;
private final String wrapperAttr;
Object(JsonAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.wrapperAttr = b.wrapperAttr;
postConstruct();
}
@@ -129,6 +143,11 @@ public class JsonAnnotation {
public String wrapperAttr() {
return wrapperAttr;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation.java
index c4aa1e28c2..7bddf02289 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackAnnotation.java
@@ -84,6 +84,8 @@ public class MsgPackAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -100,14 +102,32 @@ public class MsgPackAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
}
private static class Object extends AppliedOnClassAnnotationObject
implements MsgPack {
+ private final String[] description;
+
Object(MsgPackAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
index dcb70d1ce6..ccb49cb70e 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
@@ -221,12 +221,12 @@ public class OpenApiParserSession extends
UonParserSession {
@SuppressWarnings("unchecked")
@Override /* Overridden from HttpPartParser */
public <T> T parse(HttpPartType partType, HttpPartSchema schema, String
in, ClassMeta<T> type) throws ParseException, SchemaValidationException {
- if (partType == null)
- partType = HttpPartType.OTHER;
+ if (partType == null)
+ partType = HttpPartType.OTHER;
- var isOptional = type.isOptional();
+ var isOptional = type.isOptional();
- while (nn(type) && type.isOptional())
+ while (nn(type) && type.isOptional())
type = (ClassMeta<T>)type.getElementType();
if (type == null)
@@ -254,25 +254,25 @@ public class OpenApiParserSession extends
UonParserSession {
in = schema.getDefault();
} else {
- var swap = (ObjectSwap<T,Object>)type.getSwap(this);
- var builder = (BuilderSwap<T,Object>)type.getBuilderSwap(this);
- var sType = (ClassMeta<?>)null;
- if (nn(builder))
+ var swap = (ObjectSwap<T,Object>)type.getSwap(this);
+ var builder =
(BuilderSwap<T,Object>)type.getBuilderSwap(this);
+ var sType = (ClassMeta<?>)null;
+ if (nn(builder))
sType = builder.getBuilderClassMeta(this);
else if (nn(swap))
sType = swap.getSwapClassMeta(this);
else
sType = type;
- if (sType.isOptional())
- return (T)opt(parseInner(partType, schema, in,
sType.getElementType()));
+ if (sType.isOptional())
+ return (T)opt(parseInner(partType, schema, in,
sType.getElementType()));
- var t = schema.getType(sType);
- if (partType == null)
- partType = HttpPartType.OTHER;
+ var t = schema.getType(sType);
+ if (partType == null)
+ partType = HttpPartType.OTHER;
- var f = schema.getFormat(sType);
- if (f == HttpPartFormat.NO_FORMAT)
+ var f = schema.getFormat(sType);
+ if (f == HttpPartFormat.NO_FORMAT)
f = ctx.getFormat();
if (t == STRING) {
@@ -354,25 +354,25 @@ public class OpenApiParserSession extends
UonParserSession {
return super.parse(partType, schema,
in, type);
return toType(super.parse(partType, schema, in,
CM_Double), type);
- } else if (t == ARRAY) {
+ } else if (t == ARRAY) {
- var cf = schema.getCollectionFormat();
- if (cf == HttpPartCollectionFormat.NO_COLLECTION_FORMAT)
- cf = ctx.getCollectionFormat();
+ var cf = schema.getCollectionFormat();
+ if (cf ==
HttpPartCollectionFormat.NO_COLLECTION_FORMAT)
+ cf = ctx.getCollectionFormat();
- if (cf == HttpPartCollectionFormat.UONC)
- return super.parse(partType, schema, in, type);
+ if (cf == HttpPartCollectionFormat.UONC)
+ return super.parse(partType, schema,
in, type);
- if (type.isObject())
- type = (ClassMeta<T>)CM_JsonList;
+ if (type.isObject())
+ type = (ClassMeta<T>)CM_JsonList;
- var eType = type.isObject() ? string() :
type.getElementType();
- if (eType == null)
- eType = schema.getParsedType().getElementType();
- if (eType == null)
- eType = string();
+ var eType = type.isObject() ? string() :
type.getElementType();
+ if (eType == null)
+ eType =
schema.getParsedType().getElementType();
+ if (eType == null)
+ eType = string();
- var ss = new String[]{};
+ var ss = new String[] {};
if (cf == MULTI)
ss = a(in);
@@ -392,32 +392,32 @@ public class OpenApiParserSession extends
UonParserSession {
ss = StringUtils.splita(in, ',');
}
- var items = schema.getItems();
- if (items == null)
- items = HttpPartSchema.DEFAULT;
- var o = Array.newInstance(eType.getInnerClass(),
ss.length);
- for (var i = 0; i < ss.length; i++)
+ var items = schema.getItems();
+ if (items == null)
+ items = HttpPartSchema.DEFAULT;
+ var o =
Array.newInstance(eType.getInnerClass(), ss.length);
+ for (var i = 0; i < ss.length; i++)
Array.set(o, i, parse(partType, items,
ss[i], eType));
if (type.hasMutaterFrom(schema.getParsedType())
|| schema.getParsedType().hasMutaterTo(type))
return toType(toType(o,
schema.getParsedType()), type);
return toType(o, type);
- } else if (t == OBJECT) {
+ } else if (t == OBJECT) {
- var cf = schema.getCollectionFormat();
- if (cf == HttpPartCollectionFormat.NO_COLLECTION_FORMAT)
- cf = ctx.getCollectionFormat();
+ var cf = schema.getCollectionFormat();
+ if (cf ==
HttpPartCollectionFormat.NO_COLLECTION_FORMAT)
+ cf = ctx.getCollectionFormat();
- if (cf == HttpPartCollectionFormat.UONC)
- return super.parse(partType, schema, in, type);
+ if (cf == HttpPartCollectionFormat.UONC)
+ return super.parse(partType, schema,
in, type);
- if (type.isObject())
- type = (ClassMeta<T>)CM_JsonMap;
+ if (type.isObject())
+ type = (ClassMeta<T>)CM_JsonMap;
- if (! type.isMapOrBean())
- throw new ParseException("Invalid type {0} for
part type OBJECT.", type);
+ if (! type.isMapOrBean())
+ throw new ParseException("Invalid type
{0} for part type OBJECT.", type);
- var ss = new String[]{};
+ var ss = new String[] {};
if (cf == MULTI)
ss = a(in);
@@ -437,9 +437,9 @@ public class OpenApiParserSession extends UonParserSession {
ss = StringUtils.splita(in, ',');
}
- if (type.isBean()) {
- var m =
ctx.getBeanContext().newBeanMap(type.getInnerClass());
- for (var s : ss) {
+ if (type.isBean()) {
+ var m =
ctx.getBeanContext().newBeanMap(type.getInnerClass());
+ for (var s : ss) {
var kv = StringUtils.splita(s,
'=', 2);
if (kv.length != 2)
throw new
ParseException("Invalid input {0} for part type OBJECT.", in);
@@ -453,13 +453,13 @@ public class OpenApiParserSession extends
UonParserSession {
return m.getBean();
}
- var eType = type.isObject() ? string() :
type.getValueType();
- if (eType == null)
- eType = schema.getParsedType().getValueType();
- if (eType == null)
- eType = string();
+ var eType = type.isObject() ? string() :
type.getValueType();
+ if (eType == null)
+ eType =
schema.getParsedType().getValueType();
+ if (eType == null)
+ eType = string();
- try {
+ try {
var m =
(Map<String,Object>)type.newInstance();
if (m == null)
m = JsonMap.create();
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation.java
index 711c6d3e05..6f65f90b88 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/annotation/OpenApiAnnotation.java
@@ -84,6 +84,8 @@ public class OpenApiAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -100,14 +102,32 @@ public class OpenApiAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
}
private static class Object extends AppliedOnClassAnnotationObject
implements OpenApi {
+ private final String[] description;
+
Object(OpenApiAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/StringMatcherFactory.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/StringMatcherFactory.java
index 58cb833a50..ec11693c8e 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/StringMatcherFactory.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/objecttools/StringMatcherFactory.java
@@ -69,8 +69,8 @@ public class StringMatcherFactory extends MatcherFactory {
var ands = new LinkedList<Pattern>();
var nots = new LinkedList<Pattern>();
- for (var s : StringUtils.splitQuoted(pattern, true)) {
- char c0 = s.charAt(0), c9 = s.charAt(s.length() - 1);
+ for (var s : StringUtils.splitQuoted(pattern, true)) {
+ char c0 = s.charAt(0), c9 = s.charAt(s.length()
- 1);
if (c0 == '/' && c9 == '/' && s.length() > 1) {
ands.add(Pattern.compile(strip(s)));
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextAnnotation.java
index 8beba836d3..c45716c21e 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/annotation/PlainTextAnnotation.java
@@ -81,6 +81,8 @@ public class PlainTextAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -97,14 +99,32 @@ public class PlainTextAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
}
private static class Object extends AppliedOnClassAnnotationObject
implements PlainText {
+ private final String[] description;
+
Object(PlainTextAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlAnnotation.java
index e3021e4151..af15b3f376 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/annotation/SoapXmlAnnotation.java
@@ -81,6 +81,8 @@ public class SoapXmlAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -97,14 +99,32 @@ public class SoapXmlAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
}
private static class Object extends AppliedOnClassAnnotationObject
implements SoapXml {
+ private final String[] description;
+
Object(SoapXmlAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonAnnotation.java
index 97e6995048..101ef011fb 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonAnnotation.java
@@ -84,6 +84,8 @@ public class UonAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -100,14 +102,32 @@ public class UonAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
}
private static class Object extends AppliedOnClassAnnotationObject
implements Uon {
+ private final String[] description;
+
Object(UonAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingAnnotation.java
index 8e711bab58..b7e07f1ec3 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingAnnotation.java
@@ -84,6 +84,7 @@ public class UrlEncodingAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
boolean expandedParams;
/**
@@ -102,6 +103,17 @@ public class UrlEncodingAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link UrlEncoding#expandedParams} property on this
annotation.
*
@@ -117,10 +129,12 @@ public class UrlEncodingAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements UrlEncoding {
+ private final String[] description;
private final boolean expandedParams;
Object(UrlEncodingAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.expandedParams = b.expandedParams;
postConstruct();
}
@@ -129,6 +143,11 @@ public class UrlEncodingAnnotation {
public boolean expandedParams() {
return expandedParams;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
index 099951230c..3a151a9f12 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserSession.java
@@ -805,11 +805,11 @@ public class XmlParserSession extends ReaderParserSession
{
if (tcm == null && nn(elementName) && !
elementName.equals(currAttr))
tcm = getClassMeta(elementName, pMeta, eType);
if (nn(tcm))
- sType = eType = tcm;
+ sType = eType = tcm;
- var o = (Object)null;
+ var o = (Object)null;
- if (jsonType == NULL) {
+ if (jsonType == NULL) {
r.nextTag(); // Discard end tag
return null;
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlAnnotation.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlAnnotation.java
index e9d4737193..f699a4aec9 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlAnnotation.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlAnnotation.java
@@ -84,6 +84,7 @@ public class XmlAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderTMF<Builder> {
+ String[] description = {};
String childName = "", namespace = "", prefix = "";
XmlFormat format = XmlFormat.DEFAULT;
@@ -103,6 +104,17 @@ public class XmlAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Xml#childName} property on this annotation.
*
@@ -151,11 +163,13 @@ public class XmlAnnotation {
private static class Object extends AppliedOnClassAnnotationObject
implements Xml {
+ private final String[] description;
private final String childName, namespace, prefix;
private final XmlFormat format;
Object(XmlAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.childName = b.childName;
this.format = b.format;
this.namespace = b.namespace;
@@ -182,6 +196,11 @@ public class XmlAnnotation {
public String prefix() {
return prefix;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/OpSwaggerAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/OpSwaggerAnnotation.java
index 6f1174329f..f36f22b16c 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/OpSwaggerAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/OpSwaggerAnnotation.java
@@ -40,7 +40,10 @@ public class OpSwaggerAnnotation {
*/
public static class Builder extends AnnotationObject.Builder<Builder> {
+ String[] description = {};
+
ExternalDocs externalDocs = ExternalDocsAnnotation.DEFAULT;
+
String deprecated = "", operationId = "";
String[] consumes = {}, parameters = {}, produces = {},
responses = {}, schemes = {}, summary = {}, tags = {}, value = {};
@@ -60,6 +63,17 @@ public class OpSwaggerAnnotation {
return new Impl(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link OpSwagger#consumes()} property on this
annotation.
*
@@ -185,12 +199,14 @@ public class OpSwaggerAnnotation {
private static class Impl extends AnnotationObject implements OpSwagger
{
+ private final String[] description;
private final ExternalDocs externalDocs;
private final String deprecated, operationId;
private final String[] consumes, parameters, produces,
responses, schemes, summary, tags, value;
Impl(OpSwaggerAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.consumes = copyOf(b.consumes);
this.deprecated = b.deprecated;
this.externalDocs = b.externalDocs;
@@ -259,6 +275,11 @@ public class OpSwaggerAnnotation {
public String[] value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
index 1ab2ddcbcc..6afbeb52b1 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
@@ -60,6 +60,7 @@ public class RestAnnotation {
@SuppressWarnings("unchecked")
public static class Builder extends
AppliedAnnotationObject.BuilderT<Builder> {
+ String[] description = {};
Class<? extends Encoder>[] encoders = new Class[0];
Class<? extends HttpPartParser> partParser =
HttpPartParser.Void.class;
Class<? extends HttpPartSerializer> partSerializer =
HttpPartSerializer.Void.class;
@@ -146,6 +147,17 @@ public class RestAnnotation {
return new Impl(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Rest#callLogger()} property on this
annotation.
*
@@ -701,6 +713,7 @@ public class RestAnnotation {
private static class Impl extends AppliedOnClassAnnotationObject
implements Rest {
+ private final String[] description;
private final Class<? extends Encoder>[] encoders;
private final Class<? extends HttpPartParser> partParser;
private final Class<? extends HttpPartSerializer>
partSerializer;
@@ -728,6 +741,7 @@ public class RestAnnotation {
Impl(RestAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.disableContentParam = b.disableContentParam;
this.allowedHeaderParams = b.allowedHeaderParams;
this.allowedMethodHeaders = b.allowedMethodHeaders;
@@ -1030,6 +1044,11 @@ public class RestAnnotation {
public String uriResolution() {
return uriResolution;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
index db44434579..3f4538a129 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
@@ -50,6 +50,7 @@ public class RestDeleteAnnotation {
@SuppressWarnings("unchecked")
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
+ String[] description = {};
Class<? extends RestGuard>[] guards = new Class[0];
Class<? extends RestMatcher>[] matchers = new Class[0];
Class<? extends Encoder>[] encoders = new Class[0];
@@ -73,6 +74,17 @@ public class RestDeleteAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link RestDelete#clientVersion()} property on this
annotation.
*
@@ -305,6 +317,7 @@ public class RestDeleteAnnotation {
private static class Object extends AppliedAnnotationObject implements
RestDelete {
+ private final String[] description;
private final Class<? extends RestGuard>[] guards;
private final Class<? extends RestMatcher>[] matchers;
private final Class<? extends Encoder>[] encoders;
@@ -314,6 +327,7 @@ public class RestDeleteAnnotation {
Object(RestDeleteAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.clientVersion = b.clientVersion;
this.debug = b.debug;
this.defaultAccept = b.defaultAccept;
@@ -418,6 +432,11 @@ public class RestDeleteAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation.java
index 08d6e61890..4c3e56a4cd 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroyAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.rest.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
@@ -57,6 +59,8 @@ public class RestDestroyAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -73,14 +77,33 @@ public class RestDestroyAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
}
private static class Object extends AppliedAnnotationObject implements
RestDestroy {
+ private final String[] description;
+
Object(RestDestroyAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from RestDestroy */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation.java
index 9ee9279774..4b35340c90 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCallAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.rest.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
@@ -57,6 +59,8 @@ public class RestEndCallAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -73,14 +77,33 @@ public class RestEndCallAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
}
private static class Object extends AppliedAnnotationObject implements
RestEndCall {
+ private final String[] description;
+
Object(RestEndCallAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from RestEndCall */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
index e3fdbe102c..3df2060e59 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
@@ -52,6 +52,7 @@ public class RestGetAnnotation {
@SuppressWarnings("unchecked")
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
+ String[] description = {};
Class<? extends RestConverter>[] converters = new Class[0];
Class<? extends RestGuard>[] guards = new Class[0];
Class<? extends RestMatcher>[] matchers = new Class[0];
@@ -77,6 +78,17 @@ public class RestGetAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link RestGet#clientVersion()} property on this
annotation.
*
@@ -347,6 +359,7 @@ public class RestGetAnnotation {
private static class Object extends AppliedAnnotationObject implements
RestGet {
+ private final String[] description;
private final Class<? extends RestConverter>[] converters;
private final Class<? extends RestGuard>[] guards;
private final Class<? extends RestMatcher>[] matchers;
@@ -358,6 +371,7 @@ public class RestGetAnnotation {
Object(RestGetAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.clientVersion = b.clientVersion;
this.converters = copyOf(b.converters);
this.debug = b.debug;
@@ -480,6 +494,11 @@ public class RestGetAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInitAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInitAnnotation.java
index 3b59db4c1e..12d9038842 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInitAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInitAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.rest.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
@@ -57,6 +59,8 @@ public class RestInitAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -73,14 +77,33 @@ public class RestInitAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
}
private static class Object extends AppliedAnnotationObject implements
RestInit {
+ private final String[] description;
+
Object(RestInitAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from RestInit */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInjectAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInjectAnnotation.java
index 85c8564d17..9b47420eca 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInjectAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInjectAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.rest.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
@@ -54,7 +56,9 @@ public class RestInjectAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
- String name, value;
+ String[] description = {};
+
+ String name, value;
String[] methodScope;
/**
@@ -73,6 +77,17 @@ public class RestInjectAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link RestInject#methodScope()} property on this
annotation.
*
@@ -110,11 +125,13 @@ public class RestInjectAnnotation {
private static class Object extends AppliedAnnotationObject implements
RestInject {
+ private final String[] description;
private final String name, value;
private final String[] methodScope;
Object(RestInjectAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.name = b.name;
this.value = b.value;
this.methodScope = b.methodScope;
@@ -135,6 +152,11 @@ public class RestInjectAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
index 9ca72168bd..8fbba4a42a 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
@@ -55,6 +55,7 @@ public class RestOpAnnotation {
@SuppressWarnings("unchecked")
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
+ String[] description = {};
Class<? extends RestConverter>[] converters = new Class[0];
Class<? extends RestGuard>[] guards = new Class[0];
Class<? extends RestMatcher>[] matchers = new Class[0];
@@ -83,6 +84,17 @@ public class RestOpAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link RestOp#clientVersion()} property on this
annotation.
*
@@ -434,6 +446,7 @@ public class RestOpAnnotation {
private static class Object extends AppliedAnnotationObject implements
RestOp {
+ private final String[] description;
private final Class<? extends RestConverter>[] converters;
private final Class<? extends RestGuard>[] guards;
private final Class<? extends RestMatcher>[] matchers;
@@ -446,6 +459,7 @@ public class RestOpAnnotation {
Object(RestOpAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.clientVersion = b.clientVersion;
this.consumes = copyOf(b.consumes);
this.converters = copyOf(b.converters);
@@ -604,6 +618,11 @@ public class RestOpAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOptionsAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOptionsAnnotation.java
index 1c890364cf..7ca8b71e47 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOptionsAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOptionsAnnotation.java
@@ -52,6 +52,7 @@ public class RestOptionsAnnotation {
@SuppressWarnings("unchecked")
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
+ String[] description = {};
Class<? extends RestConverter>[] converters = new Class[0];
Class<? extends RestGuard>[] guards = new Class[0];
Class<? extends RestMatcher>[] matchers = new Class[0];
@@ -77,6 +78,17 @@ public class RestOptionsAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link RestOptions#clientVersion()} property on
this annotation.
*
@@ -347,6 +359,7 @@ public class RestOptionsAnnotation {
private static class Object extends AppliedAnnotationObject implements
RestOptions {
+ private final String[] description;
private final Class<? extends RestConverter>[] converters;
private final Class<? extends RestGuard>[] guards;
private final Class<? extends RestMatcher>[] matchers;
@@ -358,6 +371,7 @@ public class RestOptionsAnnotation {
Object(RestOptionsAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.clientVersion = b.clientVersion;
this.converters = copyOf(b.converters);
this.debug = b.debug;
@@ -480,6 +494,11 @@ public class RestOptionsAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPatchAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPatchAnnotation.java
index 83cdc30016..3ee3eb89e6 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPatchAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPatchAnnotation.java
@@ -79,6 +79,17 @@ public class RestPatchAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link RestPatch#clientVersion()} property on this
annotation.
*
@@ -409,6 +420,7 @@ public class RestPatchAnnotation {
private static class Object extends AppliedAnnotationObject implements
RestPatch {
+ private final String[] description;
private final Class<? extends RestConverter>[] converters;
private final Class<? extends RestGuard>[] guards;
private final Class<? extends RestMatcher>[] matchers;
@@ -421,6 +433,7 @@ public class RestPatchAnnotation {
Object(RestPatchAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.clientVersion = b.clientVersion;
this.consumes = copyOf(b.consumes);
this.converters = copyOf(b.converters);
@@ -573,6 +586,11 @@ public class RestPatchAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
index f68391de8d..da6276aa1f 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
@@ -52,6 +52,7 @@ public class RestPostAnnotation {
@SuppressWarnings("unchecked")
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
+ String[] description = {};
Class<? extends RestConverter>[] converters = new Class[0];
Class<? extends RestGuard>[] guards = new Class[0];
Class<? extends RestMatcher>[] matchers = new Class[0];
@@ -79,6 +80,17 @@ public class RestPostAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link RestPost#clientVersion()} property on this
annotation.
*
@@ -409,6 +421,7 @@ public class RestPostAnnotation {
private static class Object extends AppliedAnnotationObject implements
RestPost {
+ private final String[] description;
private final Class<? extends RestConverter>[] converters;
private final Class<? extends RestGuard>[] guards;
private final Class<? extends RestMatcher>[] matchers;
@@ -421,6 +434,7 @@ public class RestPostAnnotation {
Object(RestPostAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.clientVersion = b.clientVersion;
this.consumes = copyOf(b.consumes);
this.converters = copyOf(b.converters);
@@ -573,6 +587,11 @@ public class RestPostAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation.java
index cf8b6f3b3e..c8da64091e 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCallAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.rest.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
@@ -57,6 +59,8 @@ public class RestPostCallAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -73,14 +77,33 @@ public class RestPostCallAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
}
private static class Object extends AppliedAnnotationObject implements
RestPostCall {
+ private final String[] description;
+
Object(RestPostCallAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from RestPostCall */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation.java
index ce4f6fd597..1ed477ef4e 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInitAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.rest.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
@@ -57,6 +59,7 @@ public class RestPostInitAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
+ String[] description = {};
boolean childFirst;
/**
@@ -75,6 +78,17 @@ public class RestPostInitAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link RestPostInit#childFirst()} property on this
annotation.
*
@@ -89,10 +103,12 @@ public class RestPostInitAnnotation {
private static class Object extends AppliedAnnotationObject implements
RestPostInit {
+ private final String[] description;
private final boolean childFirst;
Object(RestPostInitAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.childFirst = b.childFirst;
postConstruct();
}
@@ -101,6 +117,11 @@ public class RestPostInitAnnotation {
public boolean childFirst() {
return childFirst;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation.java
index 6d02a44bcd..22bcf6b322 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCallAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.rest.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
@@ -57,6 +59,8 @@ public class RestPreCallAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -73,14 +77,33 @@ public class RestPreCallAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
}
private static class Object extends AppliedAnnotationObject implements
RestPreCall {
+ private final String[] description;
+
Object(RestPreCallAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from RestPreCall */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
index a0668cc3f9..e24a5d9733 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
@@ -52,6 +52,7 @@ public class RestPutAnnotation {
@SuppressWarnings("unchecked")
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
+ String[] description = {};
Class<? extends RestConverter>[] converters = new Class[0];
Class<? extends RestGuard>[] guards = new Class[0];
Class<? extends RestMatcher>[] matchers = new Class[0];
@@ -79,6 +80,17 @@ public class RestPutAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link RestPut#clientVersion()} property on this
annotation.
*
@@ -409,6 +421,7 @@ public class RestPutAnnotation {
private static class Object extends AppliedAnnotationObject implements
RestPut {
+ private final String[] description;
private final Class<? extends RestConverter>[] converters;
private final Class<? extends RestGuard>[] guards;
private final Class<? extends RestMatcher>[] matchers;
@@ -421,6 +434,7 @@ public class RestPutAnnotation {
Object(RestPutAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.clientVersion = b.clientVersion;
this.consumes = copyOf(b.consumes);
this.converters = copyOf(b.converters);
@@ -573,6 +587,11 @@ public class RestPutAnnotation {
public String value() {
return value;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation.java
index 7b994478a5..10d575ca56 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCallAnnotation.java
@@ -16,6 +16,8 @@
*/
package org.apache.juneau.rest.annotation;
+import static org.apache.juneau.common.utils.CollectionUtils.*;
+
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
@@ -57,6 +59,8 @@ public class RestStartCallAnnotation {
*/
public static class Builder extends
AppliedAnnotationObject.BuilderM<Builder> {
+ String[] description = {};
+
/**
* Constructor.
*/
@@ -73,14 +77,33 @@ public class RestStartCallAnnotation {
return new Object(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
}
private static class Object extends AppliedAnnotationObject implements
RestStartCall {
+ private final String[] description;
+
Object(RestStartCallAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
postConstruct();
}
+
+ @Override /* Overridden from RestStartCall */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/SwaggerAnnotation.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/SwaggerAnnotation.java
index 6fbbc6a082..17749c8579 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/SwaggerAnnotation.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/SwaggerAnnotation.java
@@ -41,6 +41,7 @@ public class SwaggerAnnotation {
*/
public static class Builder extends AnnotationObject.Builder<Builder> {
+ String[] description = {};
Contact contact = ContactAnnotation.DEFAULT;
ExternalDocs externalDocs = ExternalDocsAnnotation.DEFAULT;
License license = LicenseAnnotation.DEFAULT;
@@ -64,6 +65,17 @@ public class SwaggerAnnotation {
return new Impl(this);
}
+ /**
+ * Sets the description property on this annotation.
+ *
+ * @param value The new value for this property.
+ * @return This object.
+ */
+ public Builder description(String...value) {
+ this.description = value;
+ return this;
+ }
+
/**
* Sets the {@link Swagger#contact()} property on this
annotation.
*
@@ -156,6 +168,7 @@ public class SwaggerAnnotation {
private static class Impl extends AnnotationObject implements Swagger {
+ private final String[] description;
private final Contact contact;
private final ExternalDocs externalDocs;
private final License license;
@@ -165,6 +178,7 @@ public class SwaggerAnnotation {
Impl(SwaggerAnnotation.Builder b) {
super(b);
+ this.description = copyOf(b.description);
this.contact = b.contact;
this.externalDocs = b.externalDocs;
this.license = b.license;
@@ -215,6 +229,11 @@ public class SwaggerAnnotation {
public String version() {
return version;
}
+
+ @Override /* Overridden from annotation */
+ public String[] description() {
+ return description;
+ }
}
/** Default value */