Rename classLexicon to typeDictionary, and other minor field name
changes.

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

Branch: refs/heads/master
Commit: e1c60b10142b4c45658a2c25ab6137246de990bf
Parents: 47b9ce6
Author: jamesbognar <[email protected]>
Authored: Wed Sep 7 16:27:11 2016 -0400
Committer: jamesbognar <[email protected]>
Committed: Wed Sep 7 16:27:11 2016 -0400

----------------------------------------------------------------------
 .../java/org/apache/juneau/BeanContext.java     |  26 ++--
 .../main/java/org/apache/juneau/BeanMeta.java   |   8 +-
 .../org/apache/juneau/BeanPropertyMeta.java     |  32 ++---
 .../java/org/apache/juneau/ClassLexicon.java    | 141 -------------------
 .../main/java/org/apache/juneau/ClassMeta.java  |  36 ++---
 .../main/java/org/apache/juneau/ObjectMap.java  |  18 +--
 .../java/org/apache/juneau/TypeDictionary.java  | 137 ++++++++++++++++++
 .../java/org/apache/juneau/annotation/Bean.java |  33 +++--
 .../apache/juneau/annotation/BeanProperty.java  |  13 +-
 .../java/org/apache/juneau/annotation/Pojo.java |  74 +---------
 .../org/apache/juneau/dto/atom/Category.java    |   2 +-
 .../java/org/apache/juneau/dto/atom/Entry.java  |   2 +-
 .../java/org/apache/juneau/dto/atom/Feed.java   |   2 +-
 .../org/apache/juneau/dto/atom/Generator.java   |   2 +-
 .../java/org/apache/juneau/dto/atom/Icon.java   |   2 +-
 .../java/org/apache/juneau/dto/atom/Id.java     |   2 +-
 .../java/org/apache/juneau/dto/atom/Link.java   |   2 +-
 .../java/org/apache/juneau/dto/atom/Logo.java   |   2 +-
 .../org/apache/juneau/dto/cognos/Column.java    |   2 +-
 .../org/apache/juneau/dto/cognos/DataSet.java   |   4 +-
 .../apache/juneau/dto/jsonschema/Schema.java    |   2 +-
 .../java/org/apache/juneau/html/HtmlParser.java |  98 ++++++-------
 .../juneau/html/HtmlSchemaDocSerializer.java    |  30 ++--
 .../org/apache/juneau/html/HtmlSerializer.java  |  38 ++---
 .../main/java/org/apache/juneau/html/dto/A.java |   2 +-
 .../java/org/apache/juneau/html/dto/Abbr.java   |   2 +-
 .../org/apache/juneau/html/dto/Address.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Area.java   |   2 +-
 .../org/apache/juneau/html/dto/Article.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Aside.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Audio.java  |   2 +-
 .../main/java/org/apache/juneau/html/dto/B.java |   2 +-
 .../java/org/apache/juneau/html/dto/Base.java   |   2 +-
 .../java/org/apache/juneau/html/dto/Bdi.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Bdo.java    |   2 +-
 .../org/apache/juneau/html/dto/Blockquote.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Body.java   |   2 +-
 .../java/org/apache/juneau/html/dto/Br.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Button.java |   2 +-
 .../java/org/apache/juneau/html/dto/Canvas.java |   2 +-
 .../org/apache/juneau/html/dto/Caption.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Cite.java   |   2 +-
 .../java/org/apache/juneau/html/dto/Code.java   |   2 +-
 .../java/org/apache/juneau/html/dto/Col.java    |   2 +-
 .../org/apache/juneau/html/dto/Colgroup.java    |   2 +-
 .../org/apache/juneau/html/dto/Command.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Data.java   |   2 +-
 .../org/apache/juneau/html/dto/Datalist.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Dd.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Del.java    |   2 +-
 .../org/apache/juneau/html/dto/Details.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Dfn.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Div.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Dl.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Dt.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Em.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Embed.java  |   2 +-
 .../org/apache/juneau/html/dto/Fieldset.java    |   2 +-
 .../org/apache/juneau/html/dto/Figcaption.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Figure.java |   2 +-
 .../java/org/apache/juneau/html/dto/Footer.java |   2 +-
 .../java/org/apache/juneau/html/dto/Form.java   |   2 +-
 .../java/org/apache/juneau/html/dto/H1.java     |   2 +-
 .../java/org/apache/juneau/html/dto/H2.java     |   2 +-
 .../java/org/apache/juneau/html/dto/H3.java     |   2 +-
 .../java/org/apache/juneau/html/dto/H4.java     |   2 +-
 .../java/org/apache/juneau/html/dto/H5.java     |   2 +-
 .../java/org/apache/juneau/html/dto/H6.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Head.java   |   2 +-
 .../java/org/apache/juneau/html/dto/Header.java |   2 +-
 .../java/org/apache/juneau/html/dto/Hgroup.java |   2 +-
 .../java/org/apache/juneau/html/dto/Hr.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Html.java   |   2 +-
 .../main/java/org/apache/juneau/html/dto/I.java |   2 +-
 .../java/org/apache/juneau/html/dto/IFrame.java |   2 +-
 .../java/org/apache/juneau/html/dto/Img.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Input.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Ins.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Kbd.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Keygen.java |   2 +-
 .../java/org/apache/juneau/html/dto/Label.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Legend.java |   2 +-
 .../java/org/apache/juneau/html/dto/Li.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Link.java   |   2 +-
 .../java/org/apache/juneau/html/dto/Main.java   |   2 +-
 .../java/org/apache/juneau/html/dto/Map.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Mark.java   |   2 +-
 .../java/org/apache/juneau/html/dto/Menu.java   |   2 +-
 .../java/org/apache/juneau/html/dto/Meta.java   |   2 +-
 .../java/org/apache/juneau/html/dto/Meter.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Nav.java    |   2 +-
 .../org/apache/juneau/html/dto/Noscript.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Object.java |   2 +-
 .../java/org/apache/juneau/html/dto/Ol.java     |   2 +-
 .../org/apache/juneau/html/dto/Optgroup.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Option.java |   2 +-
 .../java/org/apache/juneau/html/dto/Output.java |   2 +-
 .../main/java/org/apache/juneau/html/dto/P.java |   2 +-
 .../java/org/apache/juneau/html/dto/Param.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Pre.java    |   2 +-
 .../org/apache/juneau/html/dto/Progress.java    |   2 +-
 .../main/java/org/apache/juneau/html/dto/Q.java |   2 +-
 .../java/org/apache/juneau/html/dto/Rb.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Rp.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Rt.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Rtc.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Ruby.java   |   2 +-
 .../main/java/org/apache/juneau/html/dto/S.java |   2 +-
 .../java/org/apache/juneau/html/dto/Samp.java   |   2 +-
 .../java/org/apache/juneau/html/dto/Script.java |   2 +-
 .../org/apache/juneau/html/dto/Section.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Select.java |   2 +-
 .../java/org/apache/juneau/html/dto/Small.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Source.java |   2 +-
 .../java/org/apache/juneau/html/dto/Span.java   |   2 +-
 .../java/org/apache/juneau/html/dto/Strong.java |   2 +-
 .../java/org/apache/juneau/html/dto/Style.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Sub.java    |   2 +-
 .../org/apache/juneau/html/dto/Summary.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Sup.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Table.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Tbody.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Td.java     |   2 +-
 .../org/apache/juneau/html/dto/Template.java    |   2 +-
 .../org/apache/juneau/html/dto/Textarea.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Tfoot.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Th.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Thead.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Time.java   |   2 +-
 .../java/org/apache/juneau/html/dto/Title.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Tr.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Track.java  |   2 +-
 .../main/java/org/apache/juneau/html/dto/U.java |   2 +-
 .../java/org/apache/juneau/html/dto/Ul.java     |   2 +-
 .../java/org/apache/juneau/html/dto/Var.java    |   2 +-
 .../java/org/apache/juneau/html/dto/Video.java  |   2 +-
 .../java/org/apache/juneau/html/dto/Wbr.java    |   2 +-
 .../java/org/apache/juneau/jena/RdfParser.java  |  84 +++++------
 .../org/apache/juneau/jena/RdfSerializer.java   |  50 +++----
 .../java/org/apache/juneau/json/JsonParser.java |  76 +++++-----
 .../juneau/json/JsonSchemaSerializer.java       |  30 ++--
 .../org/apache/juneau/json/JsonSerializer.java  |  34 ++---
 .../apache/juneau/msgpack/MsgPackParser.java    |  76 +++++-----
 .../juneau/msgpack/MsgPackSerializer.java       |  36 ++---
 .../java/org/apache/juneau/parser/Parser.java   |  16 +--
 .../juneau/serializer/SerializerSession.java    |  16 +--
 .../juneau/transform/AnnotationBeanFilter.java  |  17 +--
 .../org/apache/juneau/transform/BeanFilter.java |  20 +--
 .../apache/juneau/urlencoding/UonParser.java    |  86 +++++------
 .../juneau/urlencoding/UonSerializer.java       |  32 ++---
 .../juneau/urlencoding/UrlEncodingParser.java   |  44 +++---
 .../urlencoding/UrlEncodingSerializer.java      |  24 ++--
 .../apache/juneau/xml/XmlBeanPropertyMeta.java  |   4 +-
 .../java/org/apache/juneau/xml/XmlParser.java   |  74 +++++-----
 .../apache/juneau/xml/XmlSchemaSerializer.java  |   6 +-
 .../org/apache/juneau/xml/XmlSerializer.java    |  66 ++++-----
 .../java/org/apache/juneau/BeanFilterTest.java  |   8 +-
 .../juneau/a/rttests/RoundTripBeanMapsTest.java |  10 +-
 .../a/rttests/RoundTripTransformBeansTest.java  |   2 +-
 .../org/apache/juneau/xml/XmlCollapsedTest.java |   2 +-
 .../org/apache/juneau/xml/XmlContentTest.java   |   4 +-
 .../java/org/apache/juneau/xml/XmlTest.java     |  92 ++++++------
 .../java/org/apache/juneau/xml/xml1a/T2.java    |   2 +-
 .../java/org/apache/juneau/xml/xml1b/T4.java    |   2 +-
 .../java/org/apache/juneau/xml/xml1b/T5.java    |   2 +-
 .../juneau/samples/addressbook/Address.java     |   2 +-
 .../juneau/samples/addressbook/AddressBook.java |   2 +-
 .../samples/addressbook/CreateAddress.java      |   2 +-
 .../samples/addressbook/CreatePerson.java       |   2 +-
 .../juneau/samples/addressbook/Person.java      |   2 +-
 170 files changed, 886 insertions(+), 973 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/BeanContext.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanContext.java 
b/juneau-core/src/main/java/org/apache/juneau/BeanContext.java
index d8add3a..7067840 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanContext.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanContext.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -447,19 +447,19 @@ public class BeanContext extends Context {
        public static final String BEAN_implClasses_put = 
"BeanContext.implClasses.map.put";
 
        /**
-        * Specifies the list of classes that make up the class lexicon for 
this bean context (<code>List&lt;Class&gt;</code>).
+        * Specifies the list of classes that make up the class dictionary for 
this bean context (<code>List&lt;Class&gt;</code>).
         */
-       public static final String BEAN_classLexicon = 
"BeanContext.classLexicon.list";
+       public static final String BEAN_typeDictionary = 
"BeanContext.typeDictionary.list";
 
        /**
-        * Add to the class lexicon list.
+        * Add to the class dictionary list.
         */
-       public static final String BEAN_classLexicon_add = 
"BeanContext.classLexicon.list.add";
+       public static final String BEAN_typeDictionary_add = 
"BeanContext.typeDictionary.list.add";
 
        /**
-        * Remove from the class lexicon list.
+        * Remove from the class dictionary list.
         */
-       public static final String BEAN_classLexicon_remove = 
"BeanContext.classLexicon.list.remove";
+       public static final String BEAN_typeDictionary_remove = 
"BeanContext.typeDictionary.list.remove";
 
        /**
         * Specifies the default parser to use when converting 
<code>Strings</code> to POJOs in the {@link BeanContext#convertToType(Object, 
Class)} method (<code>Class</code>).
@@ -540,7 +540,7 @@ public class BeanContext extends Context {
        final String[] notBeanPackageNames, notBeanPackagePrefixes;
        final BeanFilter<?>[] beanFilters;
        final PojoSwap<?,?>[] pojoSwaps;
-       final ClassLexicon classLexicon;
+       final TypeDictionary typeDictionary;
        final Map<Class<?>,Class<?>> implClasses;
        final Class<?>[] implKeyClasses, implValueClasses;
        final ClassLoader classLoader;
@@ -631,7 +631,7 @@ public class BeanContext extends Context {
                }
                pojoSwaps = lpf.toArray(new PojoSwap[0]);
 
-               classLexicon = new ClassLexicon(pm.get(BEAN_classLexicon, 
Class[].class, new Class[0]));
+               typeDictionary = new TypeDictionary(pm.get(BEAN_typeDictionary, 
Class[].class, new Class[0]));
 
                implClasses = new TreeMap<Class<?>,Class<?>>(new 
ClassComparator());
                Map<Class,Class> m = pm.getMap(BEAN_implClasses, Class.class, 
Class.class, null);
@@ -1475,12 +1475,12 @@ public class BeanContext extends Context {
        }
 
        /**
-        * Returns the class lexicon defined in this bean context defined by 
{@link BeanContext#BEAN_classLexicon}.
+        * Returns the type dictionary defined in this bean context defined by 
{@link BeanContext#BEAN_typeDictionary}.
         *
-        * @return The class lexicon defined in this bean context.  Never 
<jk>null</jk>.
+        * @return The type dictionary defined in this bean context.  Never 
<jk>null</jk>.
         */
-       protected ClassLexicon getClassLexicon() {
-               return classLexicon;
+       protected TypeDictionary getTypeDictionary() {
+               return typeDictionary;
        }
 
        /**

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/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 fc65f54..41a8e88 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java
@@ -141,7 +141,7 @@ public class BeanMeta<T> {
                MetadataMap extMeta = new MetadataMap();
                BeanPropertyMeta subTypeIdProperty;
                PropertyNamer propertyNamer;
-               ClassLexicon classLexicon;
+               TypeDictionary typeDictionary;
 
                private Builder(ClassMeta<T> classMeta, BeanContext ctx, 
BeanFilter<? extends T> beanFilter, String[] pNames) {
                        this.classMeta = classMeta;
@@ -225,7 +225,7 @@ public class BeanMeta<T> {
                                        if (beanFilter.getPropertyNamer() != 
null)
                                                propertyNamer = 
beanFilter.getPropertyNamer();
 
-                                       classLexicon = 
beanFilter.getClassLexicon();
+                                       typeDictionary = 
beanFilter.getTypeDictionary();
                                }
 
                                if (propertyNamer == null)
@@ -337,8 +337,8 @@ public class BeanMeta<T> {
                                        properties.put(subTypeProperty, 
this.subTypeIdProperty);
                                }
 
-                               if (classLexicon == null)
-                                       classLexicon = ctx.getClassLexicon();
+                               if (typeDictionary == null)
+                                       typeDictionary = 
ctx.getTypeDictionary();
 
                                properties.putAll(normalProps);
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java 
b/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
index 6860b51..c5adea6 100644
--- a/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/BeanPropertyMeta.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -58,7 +58,7 @@ public class BeanPropertyMeta {
        private PojoSwap swap;                     // PojoSwap defined only via 
@BeanProperty annotation.
 
        private MetadataMap extMeta = new MetadataMap();  // Extended metadata
-       private ClassLexicon classLexicon;
+       private TypeDictionary typeDictionary;
 
        /**
         * Constructor.
@@ -144,18 +144,18 @@ public class BeanPropertyMeta {
        }
 
        /**
-        * Returns the class lexicon in use for this bean property.
-        * The order of lookup for the lexicon is as follows:
+        * Returns the class dictionary in use for this bean property.
+        * The order of lookup for the dictionary is as follows:
         * <ol>
-        *      <li>Lexicon defined via {@link BeanProperty#classLexicon()}.
-        *      <li>Lexicon defined via {@link Bean#classLexicon()} or {@link 
Pojo#classLexicon()} (or {@link BeanFilter} equivalent).
-        *      <li>Lexicon defined via {@link BeanContext#BEAN_classLexicon} 
context property.
+        *      <li>Dictionary defined via {@link 
BeanProperty#typeDictionary()}.
+        *      <li>Dictionary defined via {@link Bean#typeDictionary()} (or 
{@link BeanFilter} equivalent).
+        *      <li>Dictionary defined via {@link 
BeanContext#BEAN_typeDictionary} context property.
         * </ol>
         *
-        * @return The class lexicon in use for this bean property.  Never 
<jk>null</jk>.
+        * @return The class dictionary in use for this bean property.  Never 
<jk>null</jk>.
         */
-       public ClassLexicon getClassLexicon() {
-               return classLexicon;
+       public TypeDictionary getTypeDictionary() {
+               return typeDictionary;
        }
 
        /**
@@ -256,8 +256,8 @@ public class BeanPropertyMeta {
                                swap = getPropertyPojoSwap(p);
                                if (p.properties().length != 0)
                                        properties = p.properties();
-                               if (p.classLexicon().length > 0)
-                                       this.classLexicon = new 
ClassLexicon(p.classLexicon());
+                               if (p.typeDictionary().length > 0)
+                                       this.typeDictionary = new 
TypeDictionary(p.typeDictionary());
                        }
                }
 
@@ -271,8 +271,8 @@ public class BeanPropertyMeta {
                                        swap = getPropertyPojoSwap(p);
                                if (properties != null && p.properties().length 
!= 0)
                                        properties = p.properties();
-                               if (p.classLexicon().length > 0)
-                                       this.classLexicon = new 
ClassLexicon(p.classLexicon());
+                               if (p.typeDictionary().length > 0)
+                                       this.typeDictionary = new 
TypeDictionary(p.typeDictionary());
                        }
                }
 
@@ -286,8 +286,8 @@ public class BeanPropertyMeta {
                                swap = getPropertyPojoSwap(p);
                                if (properties != null && p.properties().length 
!= 0)
                                        properties = p.properties();
-                               if (p.classLexicon().length > 0)
-                                       this.classLexicon = new 
ClassLexicon(p.classLexicon());
+                               if (p.typeDictionary().length > 0)
+                                       this.typeDictionary = new 
TypeDictionary(p.typeDictionary());
                        }
                }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/ClassLexicon.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/ClassLexicon.java 
b/juneau-core/src/main/java/org/apache/juneau/ClassLexicon.java
deleted file mode 100644
index 8725c3e..0000000
--- a/juneau-core/src/main/java/org/apache/juneau/ClassLexicon.java
+++ /dev/null
@@ -1,141 +0,0 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau;
-
-import java.util.*;
-
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.internal.*;
-
-/**
- * A lookup table for resolving classes by name.
- * <p>
- * In a nutshell, provides a simple mapping of class objects to identifying 
names by implementing the following two methods:
- * <ul>
- *     <li>{@link #getClassForName(String)}
- *     <li>{@link #getNameForClass(Class)}
- * </ul>
- * <p>
- * Class names are defined through the {@link Bean#name()} or {@link 
Pojo#name()} annotations when using the {@link 
ClassLexicon#ClassLexicon(Class...)}
- *     constructor, but can be defined programmatically by using the {@link 
ClassLexicon#ClassLexicon(Map)} constructor.
- * <p>
- * The lexicon is used by the framework in the following ways:
- * <ul>
- *     <li>If a class type cannot be inferred through reflection during 
parsing, then a helper <js>"_class"</js> is added to the serialized output
- *             using the name defined for that class in this lexicon.  This 
helps determine the real class at parse time.
- *     <li>The lexicon name is used as element names when serialized to XML.
- * </ul>
- *
- * @author james.bognar
- */
-public class ClassLexicon {
-
-       private final Map<String,Class<?>> map;
-       private final Map<Class<?>,String> reverseMap;
-
-       /**
-        * Constructor.
-        *
-        * @param classes
-        *      List of classes to add to this lexicon table.
-        *      Each class must be one of the following:
-        *      <ul>
-        *              <li>A bean class that specifies a value for {@link 
Bean#name() @Bean.name()}.
-        *              <li>A POJO class that specifies a value for {@link 
Pojo#name() @Pojo.name()}.
-        *              <li>A subclass of {@link ClassLexicon} whose contents 
will be added to this list.
-        *                      Note that this subclass must implement a no-arg 
constructor.
-        *      </ul>
-        */
-       public ClassLexicon(Class<?>...classes) {
-               this(null, classes);
-       }
-
-       /**
-        * Constructor with optional copy-from lexicon.
-        *
-        * @param copyFrom The lexicon to initialize the contents of this 
lexicon with.
-        * @param classes List of classes to add to this lexicon.
-        */
-       public ClassLexicon(ClassLexicon copyFrom, Class<?>...classes) {
-               Map<String,Class<?>> m = new HashMap<String,Class<?>>();
-               if (copyFrom != null)
-                       m.putAll(copyFrom.map);
-               for (Class<?> c : classes) {
-                       if (c != null) {
-                               if 
(ClassUtils.isParentClass(ClassLexicon.class, c)) {
-                                       try {
-                                               ClassLexicon l2 = 
(ClassLexicon)c.newInstance();
-                                               m.putAll(l2.map);
-                                       } catch (Exception e) {
-                                               throw new 
BeanRuntimeException(e);
-                                       }
-                               } else {
-                                       Pojo p = c.getAnnotation(Pojo.class);
-                                       Bean b = c.getAnnotation(Bean.class);
-                                       String name = null;
-                                       if (p != null && ! p.name().isEmpty()) {
-                                               name = p.name();
-                                       } else if (b != null && ! 
b.name().isEmpty()) {
-                                               name = b.name();
-                                       } else {
-                                               name = c.getName();
-                                       }
-                                       m.put(name, c);
-                               }
-                       }
-               }
-               this.map = Collections.unmodifiableMap(m);
-               Map<Class<?>,String> m2 = new HashMap<Class<?>,String>();
-               for (Map.Entry<String,Class<?>> e : map.entrySet())
-                       m2.put(e.getValue(), e.getKey());
-               this.reverseMap = Collections.unmodifiableMap(m2);
-       }
-
-
-       /**
-        * Alternate constructor for defining a lexicon through a user-defined 
name/class map.
-        *
-        * @param classMap
-        *      Contains the name/class pairs to add to this lookup table.
-        */
-       public ClassLexicon(Map<String,Class<?>> classMap) {
-               if (classMap == null)
-                       throw new BeanRuntimeException("Null passed to 
ClassLexicon(Map) constructor.");
-               Map<String,Class<?>> m = new HashMap<String,Class<?>>(classMap);
-               this.map = Collections.unmodifiableMap(m);
-               Map<Class<?>,String> m2 = new HashMap<Class<?>,String>();
-               for (Map.Entry<String,Class<?>> e : map.entrySet())
-                       m2.put(e.getValue(), e.getKey());
-               this.reverseMap = Collections.unmodifiableMap(m2);
-       }
-
-       /**
-        * Returns the class associated with the specified name.
-        *
-        * @param name The name associated with the class.
-        * @return The class associated with the specified name, or 
<jk>null</jk> if no association exists.
-        */
-       public Class<?> getClassForName(String name) {
-               return map.get(name);
-       }
-
-       /**
-        * Returns the name associated with the specified class.
-        *
-        * @param c The class associated with the name.
-        * @return The name associated with the specified class, or 
<jk>null</jk> if no association exists.
-        */
-       public String getNameForClass(Class<?> c) {
-               return reverseMap.get(c);
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java 
b/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
index 2b7ce15..d531d0e 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java
@@ -83,7 +83,7 @@ public final class ClassMeta<T> implements Type {
                isMemberClass;                                 // True if this 
is a non-static member class.
 
        private MetadataMap extMeta = new MetadataMap();  // Extended metadata
-       private ClassLexicon classLexicon;                // The class lexicon 
defined on this bean or pojo.
+       private TypeDictionary typeDictionary;            // The class 
dictionary defined on this bean or pojo.
        private String name;                              // The lexical name 
associated with this bean or pojo.
 
        private Throwable initException;                  // Any exceptions 
thrown in the init() method.
@@ -131,18 +131,12 @@ public final class ClassMeta<T> implements Type {
                        beanFilter = findBeanFilter(beanContext);
                        pojoSwap = findPojoSwap(beanContext);
 
-                       classLexicon = beanContext.getClassLexicon();
-                       for (Pojo p : 
ReflectionUtils.findAnnotationsParentFirst(Pojo.class, innerClass)) {
-                               if (p.classLexicon().length > 0)
-                                       classLexicon = new 
ClassLexicon(p.classLexicon());
-                               if (! p.name().isEmpty())
-                                       name = p.name();
-                       }
+                       typeDictionary = beanContext.getTypeDictionary();
                        for (Bean b : 
ReflectionUtils.findAnnotationsParentFirst(Bean.class, innerClass)) {
-                               if (b.classLexicon().length > 0)
-                                       classLexicon = new 
ClassLexicon(b.classLexicon());
-                               if (! b.name().isEmpty())
-                                       name = b.name();
+                               if (b.typeDictionary().length > 0)
+                                       typeDictionary = new 
TypeDictionary(b.typeDictionary());
+                               if (! b.typeName().isEmpty())
+                                       name = b.typeName();
                        }
 
                        serializedClassMeta = (pojoSwap == null ? this : 
beanContext.getClassMeta(pojoSwap.getSwapClass()));
@@ -392,27 +386,27 @@ public final class ClassMeta<T> implements Type {
        }
 
        /**
-        * Returns the class lexicon in use for this class.
-        * The order of lookup for the lexicon is as follows:
+        * Returns the class dictionary in use for this class.
+        * The order of lookup for the dictionary is as follows:
         * <ol>
-        *      <li>Lexicon defined via {@link Bean#classLexicon()} or {@link 
Pojo#classLexicon()} (or {@link BeanFilter} equivalent).
-        *      <li>Lexicon defined via {@link BeanContext#BEAN_classLexicon} 
context property.
+        *      <li>Dictionary defined via {@link Bean#typeDictionary()} (or 
{@link BeanFilter} equivalent).
+        *      <li>Dictionary defined via {@link 
BeanContext#BEAN_typeDictionary} context property.
         * </ol>
         *
-        * @return The class lexicon in use for this class.  Never 
<jk>null</jk>.
+        * @return The class dictionary in use for this class.  Never 
<jk>null</jk>.
         */
-       public ClassLexicon getClassLexicon() {
-               return classLexicon;
+       public TypeDictionary getDictionary() {
+               return typeDictionary;
        }
 
        /**
         * Returns the lexical name associated with this class.
         * <p>
-        * The lexical name is defined by either {@link Bean#name()} or {@link 
Pojo#name()}.
+        * The lexical name is defined by {@link Bean#typeName()}.
         *
         * @return The lexical name associated with this class, or 
<jk>null</jk> if there is no lexical name defined.
         */
-       public String getLexiconName() {
+       public String getDictionaryName() {
                return name;
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java 
b/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java
index a310a7d..5162895 100644
--- a/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java
+++ b/juneau-core/src/main/java/org/apache/juneau/ObjectMap.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -1150,26 +1150,26 @@ public class ObjectMap extends 
LinkedHashMap<String,Object> {
         *      same object if entry does not exist.
         */
        public Object cast() {
-               return cast((ClassLexicon)null);
+               return cast((TypeDictionary)null);
        }
 
        /**
-        * Same as {@link #cast()}, but first do a lookup for the name in the 
specified lexicon.
+        * Same as {@link #cast()}, but first do a lookup for the name in the 
specified dictionary.
         *
-        * @param classLexicon
+        * @param typeDictionary
         *      The class lexicon to resolve the name.  Can be <jk>null</jk>.
         * @return The new Java object of type specified by the 
<js>"_class"</js> entry value, or this
         *      same object if entry does not exist.
         */
-       public Object cast(ClassLexicon classLexicon) {
+       public Object cast(TypeDictionary typeDictionary) {
                String c = (String)get("_class");
                if (c == null) {
                        if (containsKey("_value"))
                                return get("_value");
                        return this;
                }
-               if (classLexicon != null) {
-                       Class<?> c2 = classLexicon.getClassForName(c);
+               if (typeDictionary != null) {
+                       Class<?> c2 = typeDictionary.getClassForName(c);
                        if (c2 != null)
                                return cast2(beanContext.getClassMeta(c2));
                }
@@ -1266,7 +1266,7 @@ public class ObjectMap extends 
LinkedHashMap<String,Object> {
 
                                                // Attempt to recursively cast 
child maps.
                                                if (v instanceof ObjectMap)
-                                                       v = 
((ObjectMap)v).cast(beanContext.classLexicon);
+                                                       v = 
((ObjectMap)v).cast(beanContext.typeDictionary);
 
                                                k = (kType.isString() ? k : 
beanContext.convertToType(k, kType));
                                                v = (vType.isObject() ? v : 
beanContext.convertToType(v, vType));
@@ -1287,7 +1287,7 @@ public class ObjectMap extends 
LinkedHashMap<String,Object> {
 
                                                // Attempt to recursively cast 
child maps.
                                                if (v instanceof ObjectMap)
-                                                       v = 
((ObjectMap)v).cast(beanContext.classLexicon);
+                                                       v = 
((ObjectMap)v).cast(beanContext.typeDictionary);
 
                                                bm.put(k, v);
                                        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/TypeDictionary.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/TypeDictionary.java 
b/juneau-core/src/main/java/org/apache/juneau/TypeDictionary.java
new file mode 100644
index 0000000..0107267
--- /dev/null
+++ b/juneau-core/src/main/java/org/apache/juneau/TypeDictionary.java
@@ -0,0 +1,137 @@
+// 
***************************************************************************************************************************
+// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
+// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
+// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
+// * with the License.  You may obtain a copy of the License at                
                                              *
+// *                                                                           
                                              *
+// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
+// *                                                                           
                                              *
+// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
+// * specific language governing permissions and limitations under the 
License.                                              *
+// 
***************************************************************************************************************************
+package org.apache.juneau;
+
+import java.util.*;
+
+import org.apache.juneau.annotation.*;
+import org.apache.juneau.internal.*;
+
+/**
+ * A lookup table for resolving classes by name.
+ * <p>
+ * In a nutshell, provides a simple mapping of class objects to identifying 
names by implementing the following two methods:
+ * <ul>
+ *     <li>{@link #getClassForName(String)}
+ *     <li>{@link #getNameForClass(Class)}
+ * </ul>
+ * <p>
+ * Class names are defined through the {@link Bean#typeName()} annotations 
when using the {@link TypeDictionary#TypeDictionary(Class...)}
+ *     constructor, but can be defined programmatically by using the {@link 
TypeDictionary#TypeDictionary(Map)} constructor.
+ * <p>
+ * The dictionary is used by the framework in the following ways:
+ * <ul>
+ *     <li>If a class type cannot be inferred through reflection during 
parsing, then a helper <js>"_class"</js> is added to the serialized output
+ *             using the name defined for that class in this dictionary.  This 
helps determine the real class at parse time.
+ *     <li>The dictionary name is used as element names when serialized to XML.
+ * </ul>
+ *
+ * @author james.bognar
+ */
+public class TypeDictionary {
+
+       private final Map<String,Class<?>> map;
+       private final Map<Class<?>,String> reverseMap;
+
+       /**
+        * Constructor.
+        *
+        * @param classes
+        *      List of classes to add to this dictionary table.
+        *      Each class must be one of the following:
+        *      <ul>
+        *              <li>A bean class that specifies a value for {@link 
Bean#typeName() @Bean.name()}.
+        *              <li>A subclass of {@link TypeDictionary} whose contents 
will be added to this list.
+        *                      Note that this subclass must implement a no-arg 
constructor.
+        *      </ul>
+        */
+       public TypeDictionary(Class<?>...classes) {
+               this(null, classes);
+       }
+
+       /**
+        * Constructor with optional copy-from dictionary.
+        *
+        * @param copyFrom The dictionary to initialize the contents of this 
dictionary with.
+        * @param classes List of classes to add to this dictionary.
+        */
+       public TypeDictionary(TypeDictionary copyFrom, Class<?>...classes) {
+               Map<String,Class<?>> m = new HashMap<String,Class<?>>();
+               if (copyFrom != null)
+                       m.putAll(copyFrom.map);
+               for (Class<?> c : classes) {
+                       if (c != null) {
+                               if 
(ClassUtils.isParentClass(TypeDictionary.class, c)) {
+                                       try {
+                                               TypeDictionary l2 = 
(TypeDictionary)c.newInstance();
+                                               m.putAll(l2.map);
+                                       } catch (Exception e) {
+                                               throw new 
BeanRuntimeException(e);
+                                       }
+                               } else {
+                                       Bean b = c.getAnnotation(Bean.class);
+                                       String name = null;
+                                       if (b != null && ! 
b.typeName().isEmpty()) {
+                                               name = b.typeName();
+                                       } else {
+                                               name = c.getName();
+                                       }
+                                       m.put(name, c);
+                               }
+                       }
+               }
+               this.map = Collections.unmodifiableMap(m);
+               Map<Class<?>,String> m2 = new HashMap<Class<?>,String>();
+               for (Map.Entry<String,Class<?>> e : map.entrySet())
+                       m2.put(e.getValue(), e.getKey());
+               this.reverseMap = Collections.unmodifiableMap(m2);
+       }
+
+
+       /**
+        * Alternate constructor for defining a dictionary through a 
user-defined name/class map.
+        *
+        * @param classMap
+        *      Contains the name/class pairs to add to this lookup table.
+        */
+       public TypeDictionary(Map<String,Class<?>> classMap) {
+               if (classMap == null)
+                       throw new BeanRuntimeException("Null passed to 
TypeDictionary(Map) constructor.");
+               Map<String,Class<?>> m = new HashMap<String,Class<?>>(classMap);
+               this.map = Collections.unmodifiableMap(m);
+               Map<Class<?>,String> m2 = new HashMap<Class<?>,String>();
+               for (Map.Entry<String,Class<?>> e : map.entrySet())
+                       m2.put(e.getValue(), e.getKey());
+               this.reverseMap = Collections.unmodifiableMap(m2);
+       }
+
+       /**
+        * Returns the class associated with the specified name.
+        *
+        * @param name The name associated with the class.
+        * @return The class associated with the specified name, or 
<jk>null</jk> if no association exists.
+        */
+       public Class<?> getClassForName(String name) {
+               return map.get(name);
+       }
+
+       /**
+        * Returns the name associated with the specified class.
+        *
+        * @param c The class associated with the name.
+        * @return The name associated with the specified class, or 
<jk>null</jk> if no association exists.
+        */
+       public String getNameForClass(Class<?> c) {
+               return reverseMap.get(c);
+       }
+}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/annotation/Bean.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/annotation/Bean.java 
b/juneau-core/src/main/java/org/apache/juneau/annotation/Bean.java
index 388c01f..f2859f1 100644
--- a/juneau-core/src/main/java/org/apache/juneau/annotation/Bean.java
+++ b/juneau-core/src/main/java/org/apache/juneau/annotation/Bean.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -49,25 +49,25 @@ public @interface Bean {
         *      output so that the class can be determined during parsing.
         * It is also used to specify element names in XML.
         * <p>
-        * The name is used in combination with the lexicon defined through 
{@link #classLexicon()}.  Together, they make up
+        * The name is used in combination with the class dictionary defined 
through {@link #typeDictionary()}.  Together, they make up
         *      a simple name/value mapping of names to classes.
-        * Names do not need to be universally unique.  However, they must be 
unique within a lexicon.
+        * Names do not need to be universally unique.  However, they must be 
unique within a dictionary.
         *
         * <dl>
         *      <dt>Example:</dt>
         *      <dd>
         *              <p class='bcode'>
-        *      <ja>@Bean</ja>(name=<js>"foo"</js>)
+        *      <ja>@Bean</ja>(typeName=<js>"foo"</js>)
         *      <jk>public class</jk> Foo {
         *              <jc>// A bean property where the object types cannot be 
inferred since it's an Object[].</jc>
-        *         
<ja>@BeanProperty</ja>(lexicon={Bar.<jk>class</jk>,Baz.<jk>class</jk>})
+        *         
<ja>@BeanProperty</ja>(typeDictionary={Bar.<jk>class</jk>,Baz.<jk>class</jk>})
         *         <jk>public</jk> Object[] x = <jk>new</jk> 
Object[]{<jk>new</jk> Bar(), <jk>new</jk> Baz()};
         *      }
         *
-        *      <ja>@Bean</ja>(name=<js>"bar"</js>)
+        *      <ja>@Bean</ja>(typeName=<js>"bar"</js>)
         *      <jk>public class</jk> Bar {}
         *
-        *      <ja>@Bean</ja>(name=<js>"baz"</js>)
+        *      <ja>@Bean</ja>(typeName=<js>"baz"</js>)
         *      <jk>public class</jk> Baz {}
         *              </p>
         *              <p>
@@ -87,30 +87,29 @@ public @interface Bean {
         *              <p class='bcode'>
         *      {
         *         <jsa>x</jsa>: [
-        *            {<jsa>n</jsa>:<jss>'bar'</jss>},
-        *            {<jsa>n</jsa>:<jss>'baz'</jss>}
+        *            {<jsa>_type</jsa>:<jss>'bar'</jss>},
+        *            {<jsa>_type</jsa>:<jss>'baz'</jss>}
         *         ]
         *      }        *
         *      </dd>
         * </dl>
         */
-       String name() default "";
+       String typeName() default "";
 
        /**
-        * The list of classes that make up the class lexicon for this class.
+        * The list of classes that make up the class dictionary for this class.
         * <p>
-        * The lexicon is a name/class mapping used to find class types during 
parsing when they cannot be inferred through reflection.
-        * The names are defined through the {@link #name()} annotation defined 
on the bean or POJO classes.
+        * The dictionary is a name/class mapping used to find class types 
during parsing when they cannot be inferred through reflection.
+        * The names are defined through the {@link #typeName()} annotation 
defined on the bean or POJO classes.
         * <p>
         * This list can consist of the following class types:
         * <ul>
-        *      <li>Any bean class that specifies a value for {@link 
Bean#name() @Bean.name()};
-        *      <li>Any POJO class that specifies a value for {@link 
Pojo#name() @Pojo.name()};
-        *      <li>Any subclass of {@link ClassLexicon} that defines an entire 
set of mappings.
+        *      <li>Any bean class that specifies a value for {@link 
Bean#typeName() @Bean.name()};
+        *      <li>Any subclass of {@link TypeDictionary} that defines an 
entire set of mappings.
         *              Note that the subclass MUST implement a no-arg 
constructor so that it can be instantiated.
         * </ul>
         */
-       Class<?>[] classLexicon() default {};
+       Class<?>[] typeDictionary() default {};
 
        /**
         * The set and order of names of properties associated with a bean 
class.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/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 8e8ef8b..2db87ca 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
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -169,19 +169,18 @@ public @interface BeanProperty {
        String[] properties() default {};
 
        /**
-        * The list of classes that make up the class lexicon for this bean 
proeprty.
+        * The list of classes that make up the class dictionary for this bean 
proeprty.
         * <p>
-        * The lexicon is a name/class mapping used to find class types during 
parsing when they cannot be inferred through reflection.
+        * The dictionary is a name/class mapping used to find class types 
during parsing when they cannot be inferred through reflection.
         * The names are defined through the {@link #name()} annotation defined 
on the bean or POJO classes.
         * <p>
         * This list can consist of the following class types:
         * <ul>
-        *      <li>Any bean class that specifies a value for {@link 
Bean#name() @Bean.name()};
-        *      <li>Any POJO class that specifies a value for {@link 
Pojo#name() @Pojo.name()};
-        *      <li>Any subclass of {@link ClassLexicon} that defines an entire 
set of mappings.
+        *      <li>Any bean class that specifies a value for {@link 
Bean#typeName() @Bean.name()};
+        *      <li>Any subclass of {@link TypeDictionary} that defines an 
entire set of mappings.
         *              Note that the subclass MUST implement a no-arg 
constructor so that it can be instantiated.
         * </ul>
         */
-       Class<?>[] classLexicon() default {};
+       Class<?>[] typeDictionary() default {};
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/annotation/Pojo.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/annotation/Pojo.java 
b/juneau-core/src/main/java/org/apache/juneau/annotation/Pojo.java
index 49eb259..baaac26 100644
--- a/juneau-core/src/main/java/org/apache/juneau/annotation/Pojo.java
+++ b/juneau-core/src/main/java/org/apache/juneau/annotation/Pojo.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -17,7 +17,6 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
-import org.apache.juneau.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.transform.*;
 
@@ -33,77 +32,6 @@ import org.apache.juneau.transform.*;
 public @interface Pojo {
 
        /**
-        * An identifying name for this class.
-        * <p>
-        * The name is used to identify the class type during parsing when it 
cannot be inferred through reflection.
-        * For example, if a bean property is of type <code>Object</code>, then 
the serializer will add the name to the
-        *      output so that the class can be determined during parsing.
-        * It is also used to specify element names in XML.
-        * <p>
-        * The name is used in combination with the lexicon defined through 
{@link #classLexicon()}.  Together, they make up
-        *      a simple name/value mapping of names to classes.
-        * Names do not need to be universally unique.  However, they must be 
unique within a lexicon.
-        *
-        * <dl>
-        *      <dt>Example:</dt>
-        *      <dd>
-        *              <p class='bcode'>
-        *      <ja>@Bean</ja>(name=<js>"foo"</js>)
-        *      <jk>public class</jk> Foo {
-        *              <jc>// A bean property where the object types cannot be 
inferred since it's an Object[].</jc>
-        *         
<ja>@BeanProperty</ja>(lexicon={Bar.<jk>class</jk>,Baz.<jk>class</jk>})
-        *         <jk>public</jk> Object[] x = <jk>new</jk> 
Object[]{<jk>new</jk> Bar(), <jk>new</jk> Baz()};
-        *      }
-        *
-        *      <ja>@Pojo</ja>(name=<js>"bar"</js>)
-        *      <jk>public class</jk> Bar <jk>extends</jk> HashMap {}
-        *
-        *      <ja>@Pojo</ja>(name=<js>"baz"</js>)
-        *      <jk>public class</jk> Baz <jk>extends</jk> HashMap {}
-        *              </p>
-        *              <p>
-        *                      When serialized as XML, the bean is rendered as:
-        *              </p>
-        *              <p class='bcode'>
-        *      <xt>&lt;foo&gt;</xt>
-        *         <xt>&lt;x&gt;</xt>
-        *            <xt>&lt;bar/&gt;v
-        *            <xt>&lt;baz/&gt;</xt>
-        *         <xt>&lt;/x&gt;</xt>
-        *      <xt>&lt;/foo&gt;</xt>
-        *              </p>
-        *              <p>
-        *                      When serialized as JSON, <js>'n'</js> 
attributes would be added when needed to infer the type during parsing:
-        *              </p>
-        *              <p class='bcode'>
-        *      {
-        *         <jsa>x</jsa>: [
-        *            {<jsa>n</jsa>:<jss>'bar'</jss>},
-        *            {<jsa>n</jsa>:<jss>'baz'</jss>}
-        *         ]
-        *      }        *
-        *      </dd>
-        * </dl>
-        */
-       String name() default "";
-
-       /**
-        * The list of classes that make up the class lexicon for this class.
-        * <p>
-        * The lexicon is a name/class mapping used to find class types during 
parsing when they cannot be inferred through reflection.
-        * The names are defined through the {@link #name()} annotation defined 
on the bean or POJO classes.
-        * <p>
-        * This list can consist of the following class types:
-        * <ul>
-        *      <li>Any bean class that specifies a value for {@link 
Bean#name() @Bean.name()};
-        *      <li>Any POJO class that specifies a value for {@link 
Pojo#name() @Pojo.name()};
-        *      <li>Any subclass of {@link ClassLexicon} that defines an entire 
set of mappings.
-        *              Note that the subclass MUST implement a no-arg 
constructor so that it can be instantiated.
-        * </ul>
-        */
-       Class<?>[] classLexicon() default {};
-
-       /**
         * Associate a {@link PojoSwap} or {@link SurrogateSwap} with this 
class type.
         *
         * <p>

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/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 0f6cbdb..cc1b612 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
@@ -39,7 +39,7 @@ import org.apache.juneau.xml.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="category")
+@Bean(typeName="category")
 public class Category extends Common {
 
        private String term;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/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 051d449..f5bf32d 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
@@ -47,7 +47,7 @@ import org.apache.juneau.transforms.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="entry")
+@Bean(typeName="entry")
 public class Entry extends CommonEntry {
 
        private Content content;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/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 a12c8d8..527df26 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
@@ -52,7 +52,7 @@ import org.apache.juneau.xml.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="feed")
+@Bean(typeName="feed")
 @SuppressWarnings("hiding")
 public class Feed extends CommonEntry {
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/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 65be218..32b146c 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
@@ -37,7 +37,7 @@ import org.apache.juneau.xml.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="generator")
+@Bean(typeName="generator")
 public class Generator extends Common {
 
        private URI uri;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/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 4736728..00b901a 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
@@ -35,7 +35,7 @@ import org.apache.juneau.xml.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="icon")
+@Bean(typeName="icon")
 public class Icon extends Common {
 
        private URI uri;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/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 54950cf..f63f729 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
@@ -35,7 +35,7 @@ import org.apache.juneau.xml.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="id")
+@Bean(typeName="id")
 public class Id extends Common {
 
        private String text;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/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 45d8e9f..f70f5ca 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
@@ -42,7 +42,7 @@ import org.apache.juneau.xml.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="link")
+@Bean(typeName="link")
 public class Link extends Common {
 
        private String href;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/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 2866d53..b2b11f4 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
@@ -35,7 +35,7 @@ import org.apache.juneau.xml.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="logo")
+@Bean(typeName="logo")
 public class Logo extends Common {
 
        private URI uri;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/dto/cognos/Column.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/cognos/Column.java 
b/juneau-core/src/main/java/org/apache/juneau/dto/cognos/Column.java
index 2b8802b..0f21ab7 100644
--- a/juneau-core/src/main/java/org/apache/juneau/dto/cognos/Column.java
+++ b/juneau-core/src/main/java/org/apache/juneau/dto/cognos/Column.java
@@ -27,7 +27,7 @@ import org.apache.juneau.xml.annotation.*;
  * @author James Bognar ([email protected])
  */
 @SuppressWarnings({"rawtypes","hiding"})
-@Bean(name="item",properties={"name","type","length"})
+@Bean(typeName="item",properties={"name","type","length"})
 public class Column {
 
        private String name, type;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/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 6932e58..0176bcf 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
@@ -75,7 +75,7 @@ import org.apache.juneau.xml.annotation.*;
  * @author James Bognar ([email protected])
  */
 @SuppressWarnings("unchecked")
-@Bean(name="dataset", properties={"metadata","data"})
+@Bean(typeName="dataset", properties={"metadata","data"})
 public class DataSet {
 
        private Column[] metaData;
@@ -136,7 +136,7 @@ public class DataSet {
         *
         * @author James Bognar ([email protected])
         */
-       @Bean(name="row")
+       @Bean(typeName="row")
        @Xml(childName="value")
        public static class Row extends LinkedList<String> {
                private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/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 f135bc3..9196f1e 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
@@ -29,7 +29,7 @@ import org.apache.juneau.transform.*;
  * @author James Bognar ([email protected])
  */
 @SuppressWarnings("hiding")
-@Bean(name="schema",
+@Bean(typeName="schema",
        properties={"id","$schema","$ref", 
"title","description","type","definitions","properties",
        
"patternProperties","dependencies","items","multipleOf","maximum","exclusiveMaximum",
        
"minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems",

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java 
b/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java
index de5638f..4fefe0e 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java
@@ -67,14 +67,14 @@ public final class HtmlParser extends ReaderParser {
         *      Precondition:  Must be pointing at START_ELEMENT or CHARACTERS 
event.
         *      Postcondition:  Pointing at next event to be processed.
         */
-       private <T> T parseAnything(HtmlParserSession session, ClassMeta<T> nt, 
XMLEventReader r, Object outer) throws Exception {
+       private <T> T parseAnything(HtmlParserSession session, ClassMeta<T> 
eType, XMLEventReader r, Object outer) throws Exception {
 
                BeanContext bc = session.getBeanContext();
-               if (nt == null)
-                       nt = (ClassMeta<T>)object();
-               PojoSwap<T,Object> transform = 
(PojoSwap<T,Object>)nt.getPojoSwap();
-               ClassMeta<?> ft = nt.getSerializedClassMeta();
-               session.setCurrentClass(ft);
+               if (eType == null)
+                       eType = (ClassMeta<T>)object();
+               PojoSwap<T,Object> transform = 
(PojoSwap<T,Object>)eType.getPojoSwap();
+               ClassMeta<?> sType = eType.getSerializedClassMeta();
+               session.setCurrentClass(sType);
 
                Object o = null;
 
@@ -83,26 +83,26 @@ public final class HtmlParser extends ReaderParser {
                        event = r.nextEvent();
 
                if (event.isEndDocument())
-                       throw new XMLStreamException("Unexpected end of stream 
in parseAnything for type '"+nt+"'", event.getLocation());
+                       throw new XMLStreamException("Unexpected end of stream 
in parseAnything for type '"+eType+"'", event.getLocation());
 
                if (event.isCharacters()) {
                        String text = parseCharacters(event, r);
-                       if (ft.isObject())
+                       if (sType.isObject())
                                o = text;
-                       else if (ft.isCharSequence())
+                       else if (sType.isCharSequence())
                                o = text;
-                       else if (ft.isNumber())
-                               o = parseNumber(text, (Class<? extends 
Number>)nt.getInnerClass());
-                       else if (ft.isChar())
+                       else if (sType.isNumber())
+                               o = parseNumber(text, (Class<? extends 
Number>)eType.getInnerClass());
+                       else if (sType.isChar())
                                o = text.charAt(0);
-                       else if (ft.isBoolean())
+                       else if (sType.isBoolean())
                                o = Boolean.parseBoolean(text);
-                       else if (ft.canCreateNewInstanceFromString(outer))
-                               o = ft.newInstanceFromString(outer, text);
-                       else if (ft.canCreateNewInstanceFromNumber(outer))
-                               o = ft.newInstanceFromNumber(outer, 
parseNumber(text, ft.getNewInstanceFromNumberClass()));
+                       else if (sType.canCreateNewInstanceFromString(outer))
+                               o = sType.newInstanceFromString(outer, text);
+                       else if (sType.canCreateNewInstanceFromNumber(outer))
+                               o = sType.newInstanceFromNumber(outer, 
parseNumber(text, sType.getNewInstanceFromNumberClass()));
                        else
-                               throw new XMLStreamException("Unexpected 
characters '"+event.asCharacters().getData()+"' for type '"+nt+"'", 
event.getLocation());
+                               throw new XMLStreamException("Unexpected 
characters '"+event.asCharacters().getData()+"' for type '"+eType+"'", 
event.getLocation());
 
                } else {
                        Tag tag = 
Tag.forString(event.asStartElement().getName().getLocalPart(), false);
@@ -117,7 +117,7 @@ public final class HtmlParser extends ReaderParser {
                                tableType = attrs.get("type");
                                String c = attrs.get("_class");
                                if (c != null)
-                                       ft = nt = 
(ClassMeta<T>)bc.getClassMetaFromString(c);
+                                       sType = eType = 
(ClassMeta<T>)bc.getClassMetaFromString(c);
                        }
 
                        boolean isValid = true;
@@ -125,8 +125,8 @@ public final class HtmlParser extends ReaderParser {
                        if (tag == NULL)
                                nextTag(r, xNULL);
                        else if (tag == A)
-                               o = parseAnchor(session, event, r, nt);
-                       else if (ft.isObject()) {
+                               o = parseAnchor(session, event, r, eType);
+                       else if (sType.isObject()) {
                                if (tag == STRING)
                                        o = text;
                                else if (tag == NUMBER)
@@ -135,70 +135,70 @@ public final class HtmlParser extends ReaderParser {
                                        o = Boolean.parseBoolean(text);
                                else if (tag == TABLE) {
                                        if (tableType.equals("object")) {
-                                               o = parseIntoMap(session, r, 
(Map)new ObjectMap(bc), ft.getKeyType(), ft.getValueType());
+                                               o = parseIntoMap(session, r, 
(Map)new ObjectMap(bc), sType.getKeyType(), sType.getValueType());
                                        } else if (tableType.equals("array")) {
-                                               o = 
parseTableIntoCollection(session, r, (Collection)new ObjectList(bc), 
ft.getElementType());
+                                               o = 
parseTableIntoCollection(session, r, (Collection)new ObjectList(bc), 
sType.getElementType());
                                        } else
                                                isValid = false;
                                }
                                else if (tag == UL)
                                        o = parseIntoCollection(session, r, new 
ObjectList(bc), null);
                        }
-                       else if (tag == STRING && ft.isCharSequence())
+                       else if (tag == STRING && sType.isCharSequence())
                                o = text;
-                       else if (tag == STRING && ft.isChar())
+                       else if (tag == STRING && sType.isChar())
                                o = text.charAt(0);
-                       else if (tag == STRING && 
ft.canCreateNewInstanceFromString(outer))
-                               o = ft.newInstanceFromString(outer, text);
-                       else if (tag == NUMBER && ft.isNumber())
-                               o = parseNumber(text, (Class<? extends 
Number>)ft.getInnerClass());
-                       else if (tag == NUMBER && 
ft.canCreateNewInstanceFromNumber(outer))
-                               o = ft.newInstanceFromNumber(outer, 
parseNumber(text, ft.getNewInstanceFromNumberClass()));
-                       else if (tag == BOOLEAN && ft.isBoolean())
+                       else if (tag == STRING && 
sType.canCreateNewInstanceFromString(outer))
+                               o = sType.newInstanceFromString(outer, text);
+                       else if (tag == NUMBER && sType.isNumber())
+                               o = parseNumber(text, (Class<? extends 
Number>)sType.getInnerClass());
+                       else if (tag == NUMBER && 
sType.canCreateNewInstanceFromNumber(outer))
+                               o = sType.newInstanceFromNumber(outer, 
parseNumber(text, sType.getNewInstanceFromNumberClass()));
+                       else if (tag == BOOLEAN && sType.isBoolean())
                                o = Boolean.parseBoolean(text);
                        else if (tag == TABLE) {
                                if (tableType.equals("object")) {
-                                       if (ft.isMap()) {
-                                               o = parseIntoMap(session, r, 
(Map)(ft.canCreateNewInstance(outer) ? ft.newInstance(outer) : new 
ObjectMap(bc)), ft.getKeyType(), ft.getValueType());
-                                       } else if 
(ft.canCreateNewInstanceFromObjectMap(outer)) {
+                                       if (sType.isMap()) {
+                                               o = parseIntoMap(session, r, 
(Map)(sType.canCreateNewInstance(outer) ? sType.newInstance(outer) : new 
ObjectMap(bc)), sType.getKeyType(), sType.getValueType());
+                                       } else if 
(sType.canCreateNewInstanceFromObjectMap(outer)) {
                                                ObjectMap m = new ObjectMap(bc);
                                                parseIntoMap(session, r, m, 
string(), object());
-                                               o = 
ft.newInstanceFromObjectMap(outer, m);
-                                       } else if (ft.canCreateNewBean(outer)) {
-                                               BeanMap m = 
bc.newBeanMap(outer, ft.getInnerClass());
+                                               o = 
sType.newInstanceFromObjectMap(outer, m);
+                                       } else if 
(sType.canCreateNewBean(outer)) {
+                                               BeanMap m = 
bc.newBeanMap(outer, sType.getInnerClass());
                                                o = parseIntoBean(session, r, 
m).getBean();
                                        }
                                        else
                                                isValid = false;
                                } else if (tableType.equals("array")) {
-                                       if (ft.isCollection())
-                                               o = 
parseTableIntoCollection(session, r, 
(Collection)(ft.canCreateNewInstance(outer) ? ft.newInstance(outer) : new 
ObjectList(bc)), ft.getElementType());
-                                       else if (ft.isArray())
-                                               o = bc.toArray(ft, 
parseTableIntoCollection(session, r, new ArrayList(), ft.getElementType()));
+                                       if (sType.isCollection())
+                                               o = 
parseTableIntoCollection(session, r, 
(Collection)(sType.canCreateNewInstance(outer) ? sType.newInstance(outer) : new 
ObjectList(bc)), sType.getElementType());
+                                       else if (sType.isArray())
+                                               o = bc.toArray(sType, 
parseTableIntoCollection(session, r, new ArrayList(), sType.getElementType()));
                                        else
                                                isValid = false;
                                } else
                                        isValid = false;
                        } else if (tag == UL) {
-                               if (ft.isCollection())
-                                       o = parseIntoCollection(session, r, 
(Collection)(ft.canCreateNewInstance(outer) ? ft.newInstance(outer) : new 
ObjectList(bc)), ft.getElementType());
-                               else if (ft.isArray())
-                                       o = bc.toArray(ft, 
parseIntoCollection(session, r, new ArrayList(), ft.getElementType()));
+                               if (sType.isCollection())
+                                       o = parseIntoCollection(session, r, 
(Collection)(sType.canCreateNewInstance(outer) ? sType.newInstance(outer) : new 
ObjectList(bc)), sType.getElementType());
+                               else if (sType.isArray())
+                                       o = bc.toArray(sType, 
parseIntoCollection(session, r, new ArrayList(), sType.getElementType()));
                                else
                                        isValid = false;
                        } else
                                isValid = false;
 
                        if (! isValid)
-                               throw new XMLStreamException("Unexpected tag 
'"+tag+"' for type '"+nt+"'", event.getLocation());
+                               throw new XMLStreamException("Unexpected tag 
'"+tag+"' for type '"+eType+"'", event.getLocation());
                }
 
 
                if (transform != null && o != null)
-                       o = transform.unswap(o, nt, bc);
+                       o = transform.unswap(o, eType, bc);
 
                if (outer != null)
-                       setParent(nt, o, outer);
+                       setParent(eType, o, outer);
 
                return (T)o;
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java
index a4f4bbe..d0dc0a5 100644
--- 
a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java
+++ 
b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSchemaDocSerializer.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -94,22 +94,22 @@ public final class HtmlSchemaDocSerializer extends 
HtmlDocSerializer {
                ObjectMap out = new ObjectMap();
 
                ClassMeta<?> aType;                     // The actual type 
(will be null if recursion occurs)
-               ClassMeta<?> gType;                     // The generic type
+               ClassMeta<?> sType;                     // The serialized type
 
                aType = session.push(attrName, eType, null);
 
-               gType = eType.getSerializedClassMeta();
+               sType = eType.getSerializedClassMeta();
                String type = null;
 
-               if (gType.isEnum() || gType.isCharSequence() || gType.isChar())
+               if (sType.isEnum() || sType.isCharSequence() || sType.isChar())
                        type = "string";
-               else if (gType.isNumber())
+               else if (sType.isNumber())
                        type = "number";
-               else if (gType.isBoolean())
+               else if (sType.isBoolean())
                        type = "boolean";
-               else if (gType.isBean() || gType.isMap())
+               else if (sType.isBean() || sType.isMap())
                        type = "object";
-               else if (gType.isCollection() || gType.isArray())
+               else if (sType.isCollection() || sType.isArray())
                        type = "array";
                else
                        type = "any";
@@ -121,16 +121,16 @@ public final class HtmlSchemaDocSerializer extends 
HtmlDocSerializer {
                        out.put("transform", t);
 
                if (aType != null) {
-                       if (gType.isEnum())
-                               out.put("enum", 
getEnumStrings((Class<Enum<?>>)gType.getInnerClass()));
-                       else if (gType.isCollection() || gType.isArray()) {
-                               ClassMeta componentType = 
gType.getElementType();
-                               if (gType.isCollection() && 
isParentClass(Set.class, gType.getInnerClass()))
+                       if (sType.isEnum())
+                               out.put("enum", 
getEnumStrings((Class<Enum<?>>)sType.getInnerClass()));
+                       else if (sType.isCollection() || sType.isArray()) {
+                               ClassMeta componentType = 
sType.getElementType();
+                               if (sType.isCollection() && 
isParentClass(Set.class, sType.getInnerClass()))
                                        out.put("uniqueItems", true);
                                out.put("items", getSchema(session, 
componentType, "items", pNames));
-                       } else if (gType.isBean()) {
+                       } else if (sType.isBean()) {
                                ObjectMap properties = new ObjectMap();
-                               BeanMeta bm = 
session.getBeanContext().getBeanMeta(gType.getInnerClass());
+                               BeanMeta bm = 
session.getBeanContext().getBeanMeta(sType.getInnerClass());
                                if (pNames != null)
                                        bm = new BeanMetaFiltered(bm, pNames);
                                for (Iterator<BeanPropertyMeta> i = 
bm.getPropertyMetas().iterator(); i.hasNext();) {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java 
b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java
index 869498a..4cfaf89 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java
@@ -2,7 +2,7 @@
 // * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
 // * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
 // * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -195,7 +195,7 @@ public class HtmlSerializer extends XmlSerializer {
 
                BeanContext bc = session.getBeanContext();
                ClassMeta<?> aType = null;       // The actual type
-               ClassMeta<?> gType = object();   // The generic type
+               ClassMeta<?> sType = object();   // The serialized type
 
                if (eType == null)
                        eType = object();
@@ -216,7 +216,7 @@ public class HtmlSerializer extends XmlSerializer {
                        out.tag(i, "null").nl();
                else {
 
-                       gType = aType.getSerializedClassMeta();
+                       sType = aType.getSerializedClassMeta();
                        String classAttr = null;
                        if (session.isAddClassAttrs() && ! eType.equals(aType))
                                classAttr = aType.toString();
@@ -228,45 +228,45 @@ public class HtmlSerializer extends XmlSerializer {
 
                                // If the getSwapClass() method returns Object, 
we need to figure out
                                // the actual type now.
-                               if (gType.isObject())
-                                       gType = bc.getClassMetaForObject(o);
+                               if (sType.isObject())
+                                       sType = bc.getClassMetaForObject(o);
                        }
 
-                       HtmlClassMeta html = 
gType.getExtendedMeta(HtmlClassMeta.class);
+                       HtmlClassMeta html = 
sType.getExtendedMeta(HtmlClassMeta.class);
 
                        if (html.isAsXml() || (pMeta != null && 
pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsXml()))
                                super.serializeAnything(session, out, o, null, 
null, null, false, XmlFormat.NORMAL, null);
                        else if (html.isAsPlainText() || (pMeta != null && 
pMeta.getExtendedMeta(HtmlBeanPropertyMeta.class).isAsPlainText()))
                                out.write(o == null ? "null" : o.toString());
-                       else if (o == null || (gType.isChar() && 
((Character)o).charValue() == 0))
+                       else if (o == null || (sType.isChar() && 
((Character)o).charValue() == 0))
                                out.tag(i, "null").nl();
-                       else if (gType.hasToObjectMapMethod())
-                               serializeMap(session, out, 
gType.toObjectMap(o), eType, classAttr, pMeta);
-                       else if (gType.isBean())
+                       else if (sType.hasToObjectMapMethod())
+                               serializeMap(session, out, 
sType.toObjectMap(o), eType, classAttr, pMeta);
+                       else if (sType.isBean())
                                serializeBeanMap(session, out, bc.forBean(o), 
classAttr, pMeta);
-                       else if (gType.isNumber())
+                       else if (sType.isNumber())
                                out.sTag(i, 
"number").append(o).eTag("number").nl();
-                       else if (gType.isBoolean())
+                       else if (sType.isBoolean())
                                out.sTag(i, 
"boolean").append(o).eTag("boolean").nl();
-                       else if (gType.isMap()) {
+                       else if (sType.isMap()) {
                                if (o instanceof BeanMap)
                                        serializeBeanMap(session, out, 
(BeanMap)o, classAttr, pMeta);
                                else
                                        serializeMap(session, out, (Map)o, 
eType, classAttr, pMeta);
                        }
-                       else if (gType.isCollection()) {
+                       else if (sType.isCollection()) {
                                if (classAttr != null)
-                                       serializeCollection(session, out, 
(Collection)o, gType, name, classAttr, pMeta);
+                                       serializeCollection(session, out, 
(Collection)o, sType, name, classAttr, pMeta);
                                else
                                        serializeCollection(session, out, 
(Collection)o, eType, name, null, pMeta);
                        }
-                       else if (gType.isArray()) {
+                       else if (sType.isArray()) {
                                if (classAttr != null)
-                                       serializeCollection(session, out, 
toList(gType.getInnerClass(), o), gType, name, classAttr, pMeta);
+                                       serializeCollection(session, out, 
toList(sType.getInnerClass(), o), sType, name, classAttr, pMeta);
                                else
-                                       serializeCollection(session, out, 
toList(gType.getInnerClass(), o), eType, name, null, pMeta);
+                                       serializeCollection(session, out, 
toList(sType.getInnerClass(), o), eType, name, null, pMeta);
                        }
-                       else if (session.isUri(gType, pMeta, o)) {
+                       else if (session.isUri(sType, pMeta, o)) {
                                String label = session.getAnchorText(pMeta, o);
                                out.oTag(i, "a").attrUri("href", o).append('>');
                                out.append(label);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/dto/A.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/dto/A.java 
b/juneau-core/src/main/java/org/apache/juneau/html/dto/A.java
index 5e3ffc1..0ea319a 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/dto/A.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/dto/A.java
@@ -23,7 +23,7 @@ import org.apache.juneau.xml.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="a")
+@Bean(typeName="a")
 @SuppressWarnings("javadoc")
 public class A extends HtmlElement {
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/dto/Abbr.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/dto/Abbr.java 
b/juneau-core/src/main/java/org/apache/juneau/html/dto/Abbr.java
index 5a3b6c5..dc81fea 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/dto/Abbr.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/dto/Abbr.java
@@ -20,6 +20,6 @@ import org.apache.juneau.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="abbr")
+@Bean(typeName="abbr")
 public class Abbr extends HtmlElement {
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/dto/Address.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/dto/Address.java 
b/juneau-core/src/main/java/org/apache/juneau/html/dto/Address.java
index db14434..2844a3c 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/dto/Address.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/dto/Address.java
@@ -20,6 +20,6 @@ import org.apache.juneau.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="address")
+@Bean(typeName="address")
 public class Address extends HtmlElement {
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/dto/Area.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/dto/Area.java 
b/juneau-core/src/main/java/org/apache/juneau/html/dto/Area.java
index a139618..66e82d6 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/dto/Area.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/dto/Area.java
@@ -20,6 +20,6 @@ import org.apache.juneau.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="area")
+@Bean(typeName="area")
 public class Area extends HtmlElement {
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/dto/Article.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/dto/Article.java 
b/juneau-core/src/main/java/org/apache/juneau/html/dto/Article.java
index 6b56e46..2f87aa2 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/dto/Article.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/dto/Article.java
@@ -20,6 +20,6 @@ import org.apache.juneau.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="article")
+@Bean(typeName="article")
 public class Article extends HtmlElement {
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/dto/Aside.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/dto/Aside.java 
b/juneau-core/src/main/java/org/apache/juneau/html/dto/Aside.java
index 7105b99..23ffa64 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/dto/Aside.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/dto/Aside.java
@@ -20,6 +20,6 @@ import org.apache.juneau.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="aside")
+@Bean(typeName="aside")
 public class Aside extends HtmlElement {
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/dto/Audio.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/dto/Audio.java 
b/juneau-core/src/main/java/org/apache/juneau/html/dto/Audio.java
index 0172838..1ef40c2 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/dto/Audio.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/dto/Audio.java
@@ -20,6 +20,6 @@ import org.apache.juneau.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="audio")
+@Bean(typeName="audio")
 public class Audio extends HtmlElement {
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/dto/B.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/dto/B.java 
b/juneau-core/src/main/java/org/apache/juneau/html/dto/B.java
index de10358..449eefe 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/dto/B.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/dto/B.java
@@ -20,6 +20,6 @@ import org.apache.juneau.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="b")
+@Bean(typeName="b")
 public class B extends HtmlElement {
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/dto/Base.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/dto/Base.java 
b/juneau-core/src/main/java/org/apache/juneau/html/dto/Base.java
index d31fda0..4a92761 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/dto/Base.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/dto/Base.java
@@ -20,6 +20,6 @@ import org.apache.juneau.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="base")
+@Bean(typeName="base")
 public class Base extends HtmlElement {
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/dto/Bdi.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/dto/Bdi.java 
b/juneau-core/src/main/java/org/apache/juneau/html/dto/Bdi.java
index c76c47a..ce9796a 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/dto/Bdi.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/dto/Bdi.java
@@ -20,6 +20,6 @@ import org.apache.juneau.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="bdi")
+@Bean(typeName="bdi")
 public class Bdi extends HtmlElement {
 }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/html/dto/Bdo.java
----------------------------------------------------------------------
diff --git a/juneau-core/src/main/java/org/apache/juneau/html/dto/Bdo.java 
b/juneau-core/src/main/java/org/apache/juneau/html/dto/Bdo.java
index 4415f76..0b3417d 100644
--- a/juneau-core/src/main/java/org/apache/juneau/html/dto/Bdo.java
+++ b/juneau-core/src/main/java/org/apache/juneau/html/dto/Bdo.java
@@ -20,6 +20,6 @@ import org.apache.juneau.annotation.*;
  *
  * @author James Bognar ([email protected])
  */
-@Bean(name="bdo")
+@Bean(typeName="bdo")
 public class Bdo extends HtmlElement {
 }


Reply via email to