You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/05/31 12:19:31 UTC

incubator-juneau git commit: Add @Bean(value=) annotation.

Repository: incubator-juneau
Updated Branches:
  refs/heads/master 25e490e59 -> 58dc46e29


Add @Bean(value=) annotation.

Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/58dc46e2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/58dc46e2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/58dc46e2

Branch: refs/heads/master
Commit: 58dc46e29e39eb6f711db234f72aba3d2b4f018d
Parents: 25e490e
Author: JamesBognar <ja...@apache.org>
Authored: Wed May 31 08:19:28 2017 -0400
Committer: JamesBognar <ja...@apache.org>
Committed: Wed May 31 08:19:28 2017 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/juneau/BeanMeta.java   | 16 ++++++++++++----
 .../apache/juneau/annotation/BeanProperty.java  | 20 ++++++++++++++++++++
 .../org/apache/juneau/dto/atom/Category.java    |  6 +++---
 .../java/org/apache/juneau/dto/atom/Common.java |  4 ++--
 .../org/apache/juneau/dto/atom/CommonEntry.java | 18 +++++++++---------
 .../org/apache/juneau/dto/atom/Content.java     |  2 +-
 .../java/org/apache/juneau/dto/atom/Entry.java  | 12 ++++++------
 .../java/org/apache/juneau/dto/atom/Feed.java   | 12 ++++++------
 .../org/apache/juneau/dto/atom/Generator.java   |  8 ++++----
 .../java/org/apache/juneau/dto/atom/Icon.java   |  4 ++--
 .../java/org/apache/juneau/dto/atom/Id.java     |  2 +-
 .../java/org/apache/juneau/dto/atom/Link.java   | 12 ++++++------
 .../java/org/apache/juneau/dto/atom/Logo.java   |  4 ++--
 .../java/org/apache/juneau/dto/atom/Person.java |  8 ++++----
 .../java/org/apache/juneau/dto/atom/Source.java | 10 +++++-----
 .../java/org/apache/juneau/dto/atom/Text.java   |  4 ++--
 .../org/apache/juneau/dto/cognos/DataSet.java   |  8 ++++----
 .../apache/juneau/dto/html5/HtmlElement.java    |  4 ++--
 .../juneau/dto/html5/HtmlElementContainer.java  |  2 +-
 .../juneau/dto/html5/HtmlElementMixed.java      |  2 +-
 .../juneau/dto/html5/HtmlElementRawText.java    |  4 ++--
 .../juneau/dto/html5/HtmlElementText.java       |  4 ++--
 .../apache/juneau/dto/jsonschema/Schema.java    |  8 ++++----
 juneau-core/src/main/javadoc/overview.html      | 10 ++++++++++
 24 files changed, 111 insertions(+), 73 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java b/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
index cd1c0a6..cb51ed5 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
@@ -427,13 +427,13 @@ public class BeanMeta<T> {
 		 */
 		private String findPropertyName(Field f, Set<String> fixedBeanProps) {
 			BeanProperty bp = f.getAnnotation(BeanProperty.class);
-			if (bp != null && ! bp.name().equals("")) {
-				String name = bp.name();
+			String name = bpName(bp);
+			if (! name.isEmpty()) {
 				if (fixedBeanProps.isEmpty() || fixedBeanProps.contains(name))
 					return name;
 				throw new BeanRuntimeException(classMeta.getInnerClass(), "Method property ''{0}'' identified in @BeanProperty, but missing from @Bean", name);
 			}
-			String name = propertyNamer.getPropertyName(f.getName());
+			name = propertyNamer.getPropertyName(f.getName());
 			if (fixedBeanProps.isEmpty() || fixedBeanProps.contains(name))
 				return name;
 			return null;
@@ -558,7 +558,7 @@ public class BeanMeta<T> {
 				Class<?> rt = m.getReturnType();
 				boolean isGetter = false, isSetter = false;
 				BeanProperty bp = getMethodAnnotation(BeanProperty.class, m);
-				String bpName = bp == null ? "" : bp.name();
+				String bpName = bpName(bp);
 				if (pt.length == 0) {
 					if (n.startsWith("get") && (! rt.equals(Void.TYPE))) {
 						isGetter = true;
@@ -764,6 +764,14 @@ public class BeanMeta<T> {
 		}
 	}
 
+	private static String bpName(BeanProperty bp) {
+		if (bp == null)
+			return "";
+		if (! bp.name().isEmpty())
+			return bp.name();
+		return bp.value();
+	}
+
 	@Override /* Object */
 	public String toString() {
 		StringBuilder sb = new StringBuilder(c.getName());

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/annotation/BeanProperty.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/annotation/BeanProperty.java b/juneau-core/src/main/java/org/apache/juneau/annotation/BeanProperty.java
index daf6ca1..f2461bb 100644
--- a/juneau-core/src/main/java/org/apache/juneau/annotation/BeanProperty.java
+++ b/juneau-core/src/main/java/org/apache/juneau/annotation/BeanProperty.java
@@ -127,6 +127,26 @@ public @interface BeanProperty {
 	String name() default "";
 
 	/**
+	 * A synonym for {@link #name()}
+	 * <p>
+	 * If you're only using the <code>BeanProperty</code> annotation to override the property name, this allows you
+	 * to define it using shortened notation:
+	 * <p class='bcode'>
+	 * 		<ja>@BeanProperty</ja>(<js>"foo"</js>)
+	 * 		<jk>public</jk> String getX();
+	 * 	}
+	 * </p>
+	 * <p>
+	 * This is equivalent to the following notation:
+	 * <p class='bcode'>
+	 * 		<ja>@BeanProperty</ja>(name=<js>"foo"</js>)
+	 * 		<jk>public</jk> String getX();
+	 * 	}
+	 * </p>
+	 */
+	String value() default "";
+
+	/**
 	 * Identifies a specialized class type for the property.
 	 * <p>
 	 * Normally this can be inferred through reflection of the field type or getter return type.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/Category.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Category.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Category.java
index 65bd406..56249e3 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Category.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Category.java
@@ -74,7 +74,7 @@ public class Category extends Common {
 	 * @param term The category term.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="term")
+	@BeanProperty("term")
 	public Category term(String term) {
 		this.term = term;
 		return this;
@@ -96,7 +96,7 @@ public class Category extends Common {
 	 * @param scheme The category scheme.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="scheme")
+	@BeanProperty("scheme")
 	public Category scheme(URI scheme) {
 		this.scheme = scheme;
 		return this;
@@ -118,7 +118,7 @@ public class Category extends Common {
 	 * @param label The category label.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="label")
+	@BeanProperty("label")
 	public Category label(String label) {
 		this.label = label;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/Common.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Common.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Common.java
index c97d66c..e601c97 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Common.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Common.java
@@ -60,7 +60,7 @@ public abstract class Common {
 	 * @param base The URI base of this object.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="base")
+	@BeanProperty("base")
 	public Common base(URI base) {
 		this.base = base;
 		return this;
@@ -93,7 +93,7 @@ public abstract class Common {
 	 * @param lang The language of this object.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="lang")
+	@BeanProperty("lang")
 	public Common lang(String lang) {
 		this.lang = lang;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/CommonEntry.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/CommonEntry.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/CommonEntry.java
index b8df85a..9c00b08 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/CommonEntry.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/CommonEntry.java
@@ -83,7 +83,7 @@ public class CommonEntry extends Common {
 	 * @param authors The list of authors for this object.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="authors")
+	@BeanProperty("authors")
 	public CommonEntry authors(Person...authors) {
 		this.authors = authors;
 		return this;
@@ -105,7 +105,7 @@ public class CommonEntry extends Common {
 	 * @param categories The list of categories of this object.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="categories")
+	@BeanProperty("categories")
 	public CommonEntry categories(Category...categories) {
 		this.categories = categories;
 		return this;
@@ -127,7 +127,7 @@ public class CommonEntry extends Common {
 	 * @param contributors The list of contributors of this object.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="contributors")
+	@BeanProperty("contributors")
 	public CommonEntry contributors(Person...contributors) {
 		this.contributors = contributors;
 		return this;
@@ -148,7 +148,7 @@ public class CommonEntry extends Common {
 	 * @param id The ID of this object.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="id")
+	@BeanProperty("id")
 	public CommonEntry id(Id id) {
 		this.id = id;
 		return this;
@@ -181,7 +181,7 @@ public class CommonEntry extends Common {
 	 * @param links The list of links of this object.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="links")
+	@BeanProperty("links")
 	public CommonEntry links(Link...links) {
 		this.links = links;
 		return this;
@@ -202,7 +202,7 @@ public class CommonEntry extends Common {
 	 * @param rights The rights statement of this object.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="rights")
+	@BeanProperty("rights")
 	public CommonEntry rights(Text rights) {
 		this.rights = rights;
 		return this;
@@ -234,7 +234,7 @@ public class CommonEntry extends Common {
 	 * @param title The title of this object.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="title")
+	@BeanProperty("title")
 	public CommonEntry title(Text title) {
 		this.title = title;
 		return this;
@@ -267,7 +267,7 @@ public class CommonEntry extends Common {
 	 * @param updated The update timestamp of this object.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="updated")
+	@BeanProperty("updated")
 	public CommonEntry updated(Calendar updated) {
 		this.updated = updated;
 		return this;
@@ -279,7 +279,7 @@ public class CommonEntry extends Common {
 	 * @param updated The update timestamp of this object in ISO8601 format.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="updated")
+	@BeanProperty("updated")
 	public CommonEntry updated(String updated) {
 		this.updated = parseDateTime(updated);
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/Content.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Content.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Content.java
index 976092b..dc10ad3 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Content.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Content.java
@@ -105,7 +105,7 @@ public class Content extends Text {
 	 * @param src The source URI.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="src")
+	@BeanProperty("src")
 	public Content src(URI src) {
 		this.src = src;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/Entry.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Entry.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Entry.java
index 5658f9f..8d2b802 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Entry.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Entry.java
@@ -100,7 +100,7 @@ public class Entry extends CommonEntry {
 	 * @param content The content of this entry.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="content")
+	@BeanProperty("content")
 	public Entry content(Content content) {
 		this.content = content;
 		return this;
@@ -122,7 +122,7 @@ public class Entry extends CommonEntry {
 	 * @param published The publish timestamp of this entry.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="published")
+	@BeanProperty("published")
 	public Entry published(Calendar published) {
 		this.published = published;
 		return this;
@@ -134,7 +134,7 @@ public class Entry extends CommonEntry {
 	 * @param published The publish timestamp of this entry in ISO8601 format.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="published")
+	@BeanProperty("published")
 	public Entry published(String published) {
 		this.published = parseDateTime(published);
 		return this;
@@ -155,7 +155,7 @@ public class Entry extends CommonEntry {
 	 * @param source The source of this entry.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="source")
+	@BeanProperty("source")
 	public Entry source(Source source) {
 		this.source = source;
 		return this;
@@ -176,7 +176,7 @@ public class Entry extends CommonEntry {
 	 * @param summary The summary of this entry.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="summary")
+	@BeanProperty("summary")
 	public Entry summary(Text summary) {
 		this.summary = summary;
 		return this;
@@ -188,7 +188,7 @@ public class Entry extends CommonEntry {
 	 * @param summary The summary of this entry.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="summary")
+	@BeanProperty("summary")
 	public Entry summary(String summary) {
 		this.summary = new Text(summary);
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/Feed.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Feed.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Feed.java
index 6c7f6a8..dabe1a9 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Feed.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Feed.java
@@ -104,7 +104,7 @@ public class Feed extends CommonEntry {
 	 * @param generator The generator information on this feed.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="generator")
+	@BeanProperty("generator")
 	public Feed generator(Generator generator) {
 		this.generator = generator;
 		return this;
@@ -125,7 +125,7 @@ public class Feed extends CommonEntry {
 	 * @param icon The feed icon.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="icon")
+	@BeanProperty("icon")
 	public Feed icon(Icon icon) {
 		this.icon = icon;
 		return this;
@@ -146,7 +146,7 @@ public class Feed extends CommonEntry {
 	 * @param logo The feed logo.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="logo")
+	@BeanProperty("logo")
 	public Feed logo(Logo logo) {
 		this.logo = logo;
 		return this;
@@ -157,7 +157,7 @@ public class Feed extends CommonEntry {
 	 *
 	 * @return The feed subtitle.
 	 */
-	@BeanProperty(name="subtitle")
+	@BeanProperty("subtitle")
 	public Text getSubTitle() {
 		return subtitle;
 	}
@@ -168,7 +168,7 @@ public class Feed extends CommonEntry {
 	 * @param subtitle The feed subtitle.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="subtitle")
+	@BeanProperty("subtitle")
 	public Feed subtitle(Text subtitle) {
 		this.subtitle = subtitle;
 		return this;
@@ -201,7 +201,7 @@ public class Feed extends CommonEntry {
 	 * @param entries The entries in the feed.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="entries")
+	@BeanProperty("entries")
 	public Feed entries(Entry...entries) {
 		this.entries = entries;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/Generator.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Generator.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Generator.java
index 8dcea3c..c3109cc 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Generator.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Generator.java
@@ -77,7 +77,7 @@ public class Generator extends Common {
 	 * @param uri The URI of this generator statement.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="uri")
+	@BeanProperty("uri")
 	public Generator uri(URI uri) {
 		this.uri = uri;
 		return this;
@@ -89,7 +89,7 @@ public class Generator extends Common {
 	 * @param uri The URI of this generator statement.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="uri")
+	@BeanProperty("uri")
 	public Generator uri(String uri) {
 		this.uri = toURI(uri);
 		return this;
@@ -111,7 +111,7 @@ public class Generator extends Common {
 	 * @param version The version of this generator statement.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="version")
+	@BeanProperty("version")
 	public Generator version(String version) {
 		this.version = version;
 		return this;
@@ -133,7 +133,7 @@ public class Generator extends Common {
 	 * @param text The content of this generator statement.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="text")
+	@BeanProperty("text")
 	public Generator text(String text) {
 		this.text = text;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/Icon.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Icon.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Icon.java
index bb7f00d..636e6c5 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Icon.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Icon.java
@@ -82,7 +82,7 @@ public class Icon extends Common {
 	 * @param uri The URI of this icon.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="uri")
+	@BeanProperty("uri")
 	public Icon uri(URI uri) {
 		this.uri = uri;
 		return this;
@@ -94,7 +94,7 @@ public class Icon extends Common {
 	 * @param uri The URI of this icon.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="uri")
+	@BeanProperty("uri")
 	public Icon uri(String uri) {
 		this.uri = toURI(uri);
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/Id.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Id.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Id.java
index c498c80..4b727c9 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Id.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Id.java
@@ -71,7 +71,7 @@ public class Id extends Common {
 	 * @param text The content of this identifier.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="text")
+	@BeanProperty("text")
 	public Id text(String text) {
 		this.text = text;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/Link.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Link.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Link.java
index 90f4b28..d5d64f3 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Link.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Link.java
@@ -86,7 +86,7 @@ public class Link extends Common {
 	 * @param href The href of the target of this link.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="href")
+	@BeanProperty("href")
 	public Link href(String href) {
 		this.href = href;
 		return this;
@@ -108,7 +108,7 @@ public class Link extends Common {
 	 * @param rel The rell of this link.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="rel")
+	@BeanProperty("rel")
 	public Link rel(String rel) {
 		this.rel = rel;
 		return this;
@@ -138,7 +138,7 @@ public class Link extends Common {
 	 * @param type The content type of the target of this link.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="type")
+	@BeanProperty("type")
 	public Link type(String type) {
 		this.type = type;
 		return this;
@@ -160,7 +160,7 @@ public class Link extends Common {
 	 * @param hreflang The language of the target of this link.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="hreflang")
+	@BeanProperty("hreflang")
 	public Link hreflang(String hreflang) {
 		this.hreflang = hreflang;
 		return this;
@@ -182,7 +182,7 @@ public class Link extends Common {
 	 * @param title The title of the target of this link.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="title")
+	@BeanProperty("title")
 	public Link title(String title) {
 		this.title = title;
 		return this;
@@ -204,7 +204,7 @@ public class Link extends Common {
 	 * @param length The length of the contents of the target of this link.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="length")
+	@BeanProperty("length")
 	public Link length(Integer length) {
 		this.length = length;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/Logo.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Logo.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Logo.java
index 744179b..ae03748 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Logo.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Logo.java
@@ -82,7 +82,7 @@ public class Logo extends Common {
 	 * @param uri The URI of the logo.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="uri")
+	@BeanProperty("uri")
 	public Logo uri(URI uri) {
 		this.uri = uri;
 		return this;
@@ -94,7 +94,7 @@ public class Logo extends Common {
 	 * @param uri The URI of the logo.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="uri")
+	@BeanProperty("uri")
 	public Logo uri(String uri) {
 		this.uri = toURI(uri);
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/Person.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Person.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Person.java
index 02ea54a..952302e 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Person.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Person.java
@@ -73,7 +73,7 @@ public class Person extends Common {
 	 * @param name The name of the person.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="name")
+	@BeanProperty("name")
 	public Person name(String name) {
 		this.name = name;
 		return this;
@@ -94,7 +94,7 @@ public class Person extends Common {
 	 * @param uri The URI of the person.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="uri")
+	@BeanProperty("uri")
 	public Person uri(URI uri) {
 		this.uri = uri;
 		return this;
@@ -106,7 +106,7 @@ public class Person extends Common {
 	 * @param uri The URI of the person.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="uri")
+	@BeanProperty("uri")
 	public Person uri(String uri) {
 		this.uri = toURI(uri);
 		return this;
@@ -127,7 +127,7 @@ public class Person extends Common {
 	 * @param email The email address of the person.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="email")
+	@BeanProperty("email")
 	public Person email(String email) {
 		this.email = email;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/Source.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Source.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Source.java
index e2667b8..2c29740 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Source.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Source.java
@@ -71,7 +71,7 @@ public class Source extends CommonEntry {
 	 * @param generator The generator info of this source.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="generator")
+	@BeanProperty("generator")
 	public Source generator(Generator generator) {
 		this.generator = generator;
 		return this;
@@ -92,7 +92,7 @@ public class Source extends CommonEntry {
 	 * @param icon The icon of this source.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="icon")
+	@BeanProperty("icon")
 	public Source icon(Icon icon) {
 		this.icon = icon;
 		return this;
@@ -113,7 +113,7 @@ public class Source extends CommonEntry {
 	 * @param logo The logo of this source.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="logo")
+	@BeanProperty("logo")
 	public Source logo(Logo logo) {
 		this.logo = logo;
 		return this;
@@ -134,7 +134,7 @@ public class Source extends CommonEntry {
 	 * @param subtitle The subtitle of this source.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="subtitle")
+	@BeanProperty("subtitle")
 	public Source subtitle(Text subtitle) {
 		this.subtitle = subtitle;
 		return this;
@@ -146,7 +146,7 @@ public class Source extends CommonEntry {
 	 * @param subtitle The subtitle of this source.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="subtitle")
+	@BeanProperty("subtitle")
 	public Source subtitle(String subtitle) {
 		this.subtitle = new Text(subtitle);
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/atom/Text.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Text.java b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Text.java
index 6a58ff9..d16d845 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/atom/Text.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/atom/Text.java
@@ -92,7 +92,7 @@ public class Text extends Common {
 	 * @param type The content type of this content.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="type")
+	@BeanProperty("type")
 	public Text type(String type) {
 		this.type = type;
 		return this;
@@ -114,7 +114,7 @@ public class Text extends Common {
 	 * @param text The content of this content.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="text")
+	@BeanProperty("text")
 	public Text text(String text) {
 		this.text = text;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/cognos/DataSet.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/cognos/DataSet.java b/juneau-core/src/main/java/org/apache/juneau/dto/cognos/DataSet.java
index 2829631..f90a4f1 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/cognos/DataSet.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/cognos/DataSet.java
@@ -161,7 +161,7 @@ public class DataSet {
 	 *
 	 * @return The value of the <property>metadata</property> property on this bean, or <jk>null</jk> if it is not set.
 	 */
-	@BeanProperty(name="metadata")
+	@BeanProperty("metadata")
 	public Column[] getMetaData() {
 		return metaData;
 	}
@@ -172,7 +172,7 @@ public class DataSet {
 	 * @param metaData The new value for the <property>metadata</property> property on this bean.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="metadata")
+	@BeanProperty("metadata")
 	public DataSet setMetaData(Column[] metaData) {
 		this.metaData = metaData;
 		return this;
@@ -183,7 +183,7 @@ public class DataSet {
 	 *
 	 * @return The value of the <property>data</property> property on this bean, or <jk>null</jk> if it is not set.
 	 */
-	@BeanProperty(name="data")
+	@BeanProperty("data")
 	public List<Row> getData() {
 		return data;
 	}
@@ -194,7 +194,7 @@ public class DataSet {
 	 * @param data The new value for the <property>data</property> property on this bean.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="data")
+	@BeanProperty("data")
 	public DataSet setData(List<Row> data) {
 		this.data = data;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
index da82778..1f6de50 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElement.java
@@ -36,7 +36,7 @@ public abstract class HtmlElement {
 	 * @return The attributes of this element.
 	 */
 	@Xml(format=ATTRS)
-	@BeanProperty(name="a")
+	@BeanProperty("a")
 	public LinkedHashMap<String,Object> getAttrs() {
 		return attrs;
 	}
@@ -46,7 +46,7 @@ public abstract class HtmlElement {
 	 * @param attrs The new attributes for this element.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="a")
+	@BeanProperty("a")
 	public HtmlElement setAttrs(LinkedHashMap<String,Object> attrs) {
 		this.attrs = attrs;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java
index 0087b29..e009d92 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java
@@ -43,7 +43,7 @@ public class HtmlElementContainer extends HtmlElement {
 	 * @param children The new children for this container.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="c")
+	@BeanProperty("c")
 	public HtmlElementContainer setChildren(LinkedList<Object> children) {
 		this.children = children;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java
index 869391a..9cf04a5 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java
@@ -44,7 +44,7 @@ public class HtmlElementMixed extends HtmlElement {
 	 * @param children The new children of this element.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="c")
+	@BeanProperty("c")
 	public HtmlElement setChildren(LinkedList<Object> children) {
 		this.children = children;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementRawText.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementRawText.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementRawText.java
index 7ca0d9b..59115e8 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementRawText.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementRawText.java
@@ -29,7 +29,7 @@ public class HtmlElementRawText extends HtmlElement {
 	 * @return The inner text of this element, or <jk>null</jk> if no text is set.
 	 */
 	@Xml(format=XmlFormat.TEXT_PWS)
-	@BeanProperty(name="c")
+	@BeanProperty("c")
 	public Object getText() {
 		return text;
 	}
@@ -40,7 +40,7 @@ public class HtmlElementRawText extends HtmlElement {
 	 * @param text The inner text of this element, or <jk>null</jk> if no text is set.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="c")
+	@BeanProperty("c")
 	public HtmlElement setText(Object text) {
 		this.text = text;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java
index a27cef2..399a304 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementText.java
@@ -29,7 +29,7 @@ public class HtmlElementText extends HtmlElement {
 	 * @return The inner text of this element, or <jk>null</jk> if no text is set.
 	 */
 	@Xml(format=XmlFormat.TEXT)
-	@BeanProperty(name="c")
+	@BeanProperty("c")
 	public Object getText() {
 		return text;
 	}
@@ -40,7 +40,7 @@ public class HtmlElementText extends HtmlElement {
 	 * @param text The inner text of this element, or <jk>null</jk> if no text is set.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="c")
+	@BeanProperty("c")
 	public HtmlElement setText(Object text) {
 		this.text = text;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Schema.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Schema.java b/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Schema.java
index 81f58e7..b771489 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Schema.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/jsonschema/Schema.java
@@ -143,7 +143,7 @@ public class Schema {
 	 *
 	 * @return The value of the <property>$schema</property> property on this bean, or <jk>null</jk> if it is not set.
 	 */
-	@BeanProperty(name="$schema")
+	@BeanProperty("$schema")
 	public URI getSchemaVersionUri() {
 		return schemaVersion;
 	}
@@ -154,7 +154,7 @@ public class Schema {
 	 * @param schemaVersion The new value for the <property>schemaVersion</property> property on this bean.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="$schema")
+	@BeanProperty("$schema")
 	public Schema setSchemaVersionUri(URI schemaVersion) {
 		this.schemaVersion = schemaVersion;
 		return this;
@@ -1272,7 +1272,7 @@ public class Schema {
 	 *
 	 * @return The value of the <property>$ref</property> property on this bean, or <jk>null</jk> if it is not set.
 	 */
-	@BeanProperty(name="$ref")
+	@BeanProperty("$ref")
 	public URI getRef() {
 		return ref;
 	}
@@ -1283,7 +1283,7 @@ public class Schema {
 	 * @param ref The new value for the <property>$ref</property> property on this bean.
 	 * @return This object (for method chaining).
 	 */
-	@BeanProperty(name="$ref")
+	@BeanProperty("$ref")
 	public Schema setRef(URI ref) {
 		this.ref = ref;
 		return this;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/58dc46e2/juneau-core/src/main/javadoc/overview.html
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/javadoc/overview.html b/juneau-core/src/main/javadoc/overview.html
index 64714b6..a4e6885 100644
--- a/juneau-core/src/main/javadoc/overview.html
+++ b/juneau-core/src/main/javadoc/overview.html
@@ -6223,6 +6223,15 @@
 						<li>{@link org.apache.juneau.serializer.SerializerContext#SERIALIZER_uriRelativity}
 						<li>{@link org.apache.juneau.serializer.SerializerContext#SERIALIZER_uriResolution}
 				</ul>
+			<li>New annotation property: {@link org.apache.juneau.annotation.BeanProperty#value()}.
+				<br>The following two annotations are considered equivalent:
+				<p class='bcode'>
+	<ja>@BeanProperty</ja>(name=<js>"foo"</js>)
+	
+	<ja>@BeanProperty</ja>(<js>"foo"</js>)
+				</p>
+			<li>Fixed a race condition in ClassMeta.
+			
 		</ul>
 
 		<h6 class='topic'>org.apache.juneau.rest</h6>
@@ -9949,3 +9958,4 @@
 
 </div>
 </body>								
+	
\ No newline at end of file