http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/Visibility.java
----------------------------------------------------------------------
diff --git a/com.ibm.team.juno/src/main/java/org/apache/juneau/Visibility.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/Visibility.java
deleted file mode 100644
index 03a927f..0000000
--- a/com.ibm.team.juno/src/main/java/org/apache/juneau/Visibility.java
+++ /dev/null
@@ -1,199 +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.lang.reflect.*;
-
-/**
- * Defines class/field/method visibilities.
- * <p>
- * Used to specify minimum levels of visibility when detecting bean classes, 
methods, and fields.
- * Used in conjunction with the following bean context properties:
- * <ul>
- *     <li>{@link BeanContext#BEAN_beanConstructorVisibility}
- *     <li>{@link BeanContext#BEAN_beanClassVisibility}
- *     <li>{@link BeanContext#BEAN_beanFieldVisibility}
- *     <li>{@link BeanContext#BEAN_methodVisibility}
- * </ul>
- *
- * @author James Bognar ([email protected])
- */
-public enum Visibility {
-
-       /** Ignore all */
-       NONE,
-
-       /** Include only <jk>public</jk> classes/fields/methods. */
-       PUBLIC,
-
-       /** Include only <jk>public</jk> or <jk>protected</jk> 
classes/fields/methods. */
-       PROTECTED,
-
-       /** Include all but <jk>private</jk> classes/fields/methods. */
-       DEFAULT,
-
-       /** Include all classes/fields/methods. */
-       PRIVATE;
-
-       /**
-        * Identifies if the specified mod matches this visibility.
-        * Example:
-        * <code>
-        *      
<jsf>PUBLIC</jsf>.isVisible(MyPublicClass.<jk>class</jk>.getModifiers()); 
<jc>//true</jk>
-        *      
<jsf>PUBLIC</jsf>.isVisible(MyPrivateClass.<jk>class</jk>.getModifiers()); 
<jc>//false</jk>
-        *      
<jsf>PRIVATE</jsf>.isVisible(MyPrivateClass.<jk>class</jk>.getModifiers()); 
<jc>//true</jk>
-        *      
<jsf>NONE</jsf>.isVisible(MyPublicClass.<jk>class</jk>.getModifiers()); 
<jc>//false</jk>
-        * </code>
-        *
-        * @param mod The modifier from the object being tested (e.g. results 
from {@link Class#getModifiers()}.
-        * @return <jk>true</jk> if this visibility matches the specified 
modifier attribute.
-        */
-       public boolean isVisible(int mod) {
-               switch(this) {
-                       case NONE: return false;
-                       case PRIVATE: return true;
-                       case DEFAULT: return ! Modifier.isPrivate(mod);
-                       case PROTECTED: return Modifier.isProtected(mod) || 
Modifier.isPublic(mod);
-                       default: return Modifier.isPublic(mod);
-               }
-       }
-
-       /**
-        * Shortcut for <code>isVisible(x.getModifiers());</code>
-        *
-        * @param x The constructor to check.
-        * @return <jk>true</jk> if the constructor is at least as visible as 
this object.
-        */
-       public boolean isVisible(Constructor<?> x) {
-               return isVisible(x.getModifiers());
-       }
-
-       /**
-        * Shortcut for <code>isVisible(x.getModifiers());</code>
-        *
-        * @param x The method to check.
-        * @return <jk>true</jk> if the method is at least as visible as this 
object.
-        */
-       public boolean isVisible(Method x) {
-               return isVisible(x.getModifiers());
-       }
-
-       /**
-        * Shortcut for <code>isVisible(x.getModifiers());</code>
-        *
-        * @param x The field to check.
-        * @return <jk>true</jk> if the field is at least as visible as this 
object.
-        */
-       public boolean isVisible(Field x) {
-               return isVisible(x.getModifiers());
-       }
-
-       /**
-        * Makes constructor accessible if it matches the visibility 
requirements, or returns <jk>null</jk> if it doesn't.
-        * Security exceptions thrown on the call to {@link 
Constructor#setAccessible(boolean)} are quietly ignored.
-        *
-        * @param x The constructor.
-        * @return The same constructor if visibility requirements met, or 
<jk>null</jk> if visibility requirement not
-        *      met or call to {@link Constructor#setAccessible(boolean)} 
throws a security exception.
-        */
-       public <T> Constructor<T> transform(Constructor<T> x) {
-               if (x == null)
-                       return null;
-               if (isVisible(x))
-                       if (! setAccessible(x))
-                               return null;
-               return x;
-       }
-
-       /**
-        * Makes method accessible if it matches the visibility requirements, 
or returns <jk>null</jk> if it doesn't.
-        * Security exceptions thrown on the call to {@link 
Method#setAccessible(boolean)} are quietly ignored.
-        *
-        * @param x The method.
-        * @return The same method if visibility requirements met, or 
<jk>null</jk> if visibility requirement not
-        *      met or call to {@link Method#setAccessible(boolean)} throws a 
security exception.
-        */
-       public <T> Method transform(Method x) {
-               if (x == null)
-                       return null;
-               if (isVisible(x))
-                       if (! setAccessible(x))
-                               return null;
-               return x;
-       }
-
-       /**
-        * Makes field accessible if it matches the visibility requirements, or 
returns <jk>null</jk> if it doesn't.
-        * Security exceptions thrown on the call to {@link 
Field#setAccessible(boolean)} are quietly ignored.
-        *
-        * @param x The field.
-        * @return The same field if visibility requirements met, or 
<jk>null</jk> if visibility requirement not
-        *      met or call to {@link Field#setAccessible(boolean)} throws a 
security exception.
-        */
-       public Field transform(Field x) {
-               if (x == null)
-                       return null;
-               if (isVisible(x))
-                       if (! setAccessible(x))
-                               return null;
-               return x;
-       }
-
-       /**
-        * Attempts to call <code>x.setAccessible(<jk>true</jk>)</code> and 
quietly ignores security exceptions.
-        *
-        * @param x The constructor.
-        * @return <jk>true</jk> if call was successful.
-        */
-       public static boolean setAccessible(Constructor<?> x) {
-               try {
-                       if (! (x == null || x.isAccessible()))
-                               x.setAccessible(true);
-                       return true;
-               } catch (SecurityException e) {
-                       return false;
-               }
-       }
-
-       /**
-        * Attempts to call <code>x.setAccessible(<jk>true</jk>)</code> and 
quietly ignores security exceptions.
-        *
-        * @param x The method.
-        * @return <jk>true</jk> if call was successful.
-        */
-       public static boolean setAccessible(Method x) {
-               try {
-                       if (! (x == null || x.isAccessible()))
-                               x.setAccessible(true);
-                       return true;
-               } catch (SecurityException e) {
-                       return false;
-               }
-       }
-
-       /**
-        * Attempts to call <code>x.setAccessible(<jk>true</jk>)</code> and 
quietly ignores security exceptions.
-        *
-        * @param x The field.
-        * @return <jk>true</jk> if call was successful.
-        */
-       public static boolean setAccessible(Field x) {
-               try {
-                       if (! (x == null || x.isAccessible()))
-                               x.setAccessible(true);
-                       return true;
-               } catch (SecurityException e) {
-                       return false;
-               }
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/Writable.java
----------------------------------------------------------------------
diff --git a/com.ibm.team.juno/src/main/java/org/apache/juneau/Writable.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/Writable.java
deleted file mode 100644
index a14e544..0000000
--- a/com.ibm.team.juno/src/main/java/org/apache/juneau/Writable.java
+++ /dev/null
@@ -1,42 +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.io.*;
-
-/**
- * Interface that identifies that an object can be serialized directly to a 
writer.
- * <p>
- *     Instances must identify the media type of the content by implementing 
the
- *     {@link #getMediaType()} method.
- * </p>
- *
- * @author James Bognar ([email protected])
- */
-public interface Writable {
-
-       /**
-        * Serialize this object to the specified writer.
-        *
-        * @param w The writer to write to.
-        * @throws IOException
-        */
-       void writeTo(Writer w) throws IOException;
-
-       /**
-        * Returns the serialized media type for this resource (e.g. 
<js>"text/html"</js>)
-        *
-        * @return The media type, or <jk>null</jk> if the media type is not 
known.
-        */
-       String getMediaType();
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Bean.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Bean.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Bean.java
deleted file mode 100644
index 55b6468..0000000
--- a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Bean.java
+++ /dev/null
@@ -1,236 +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.annotation;
-
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.beans.*;
-import java.lang.annotation.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.transform.*;
-
-/**
- * Used to tailor how beans get interpreted by the framework.
- * <p>
- *     Can be used to do the following:
- * <ul class='spaced-list'>
- *     <li>Explicitly specify the set and order of properties on a bean.
- *     <li>Associate a {@link PropertyNamer} with a class.
- *     <li>Specify subtypes of a bean differentiated by a sub type property.
- * </ul>
- * <p>
- *     This annotation can be applied to classes and interfaces.
- *
- * @author James Bognar ([email protected])
- */
-@Documented
-@Target(TYPE)
-@Retention(RUNTIME)
-@Inherited
-public @interface Bean {
-
-       /**
-        * The set and order of names of properties associated with a bean 
class.
-        * <p>
-        *      The order specified is the same order that the entries will be 
returned by the {@link BeanMap#entrySet()} and related methods.
-        * <p>
-        *      This annotation is an alternative to using the {@link 
BeanTransform} class with an implemented {@link BeanTransform#getProperties()} 
method.
-        *
-        * <dl>
-        *      <dt>Example:</dt>
-        *      <dd>
-        *              <p class='bcode'>
-        *      <jc>// Address class with only street/city/state properties (in 
that order).</jc>
-        *      <jc>// All other properties are ignored.</jc>
-        *      
<ja>@Bean</ja>(properties={<js>"street"</js>,<js>"city"</js>,<js>"state"</js>})
-        *      <jk>public class</jk> Address {
-        *      ...
-        *              </p>
-        *      </dd>
-        * </dl>
-        */
-       String[] properties() default {};
-
-       /**
-        * Sort bean properties in alphabetical order.
-        * <p>
-        *      When <jk>true</jk>, all bean properties will be serialized and 
access in alphabetical order.
-        *      Otherwise, the natural order of the bean properties is used 
which is dependent on the
-        *              JVM vendor.
-        *      On IBM JVMs, the bean properties are ordered based on their 
ordering in the Java file.
-        *      On Oracle JVMs, the bean properties are not ordered (which 
follows the offical JVM specs).
-        * <p>
-        *      This property is disabled by default so that IBM JVM users 
don't have to use {@link Bean @Bean} annotations
-        *      to force bean properties to be in a particular order and can 
just alter the order of the fields/methods
-        *      in the Java file.
-        * <p>
-        *      This annotation is equivalent to using the {@link 
BeanContext#BEAN_sortProperties} property, but
-        *      applied to individual classes instead of globally at the 
serializer or parser level.
-        */
-       boolean sort() default false;
-
-       /**
-        * Specifies a list of properties that should be excluded from {@link 
BeanMap#entrySet()}.
-        * <p>
-        *      This annotation is an alternative to using the {@link 
BeanTransform} class with an implemented {@link 
BeanTransform#getExcludeProperties()} method.
-        *
-        * <dl>
-        *      <dt>Example:</dt>
-        *      <dd>
-        *              <p class='bcode'>
-        *      <jc>// Address class with only street/city/state properties (in 
that order).</jc>
-        *      <jc>// All other properties are ignored.</jc>
-        *      
<ja>@Bean</ja>(excludeProperties={<js>"city"</js>,<js>"state"</js>})
-        *      <jk>public class</jk> Address {
-        *              ...
-        *              </p>
-        *      </dd>
-        * </dl>
-        */
-       String[] excludeProperties() default {};
-
-       /**
-        * Associates a {@link PropertyNamer} with this bean to tailor the 
names of the bean properties.
-        * <p>
-        *      Property namers are used to transform bean property names from 
standard form to some other form.
-        *      For example, the {@link PropertyNamerDashedLC} will convert 
property names to dashed-lowercase, and
-        *              these will be used as attribute names in JSON, and 
element names in XML.
-        * <p>
-        *      This annotation is an alternative to using the {@link 
BeanTransform} class with an implemented {@link 
BeanTransform#getPropertyNamer()} method.
-        *
-        * <dl>
-        *      <dt>Example:</dt>
-        *      <dd>
-        *              <p class='bcode'>
-        *      <jc>// Define a class with dashed-lowercase property names.</jc>
-        *      
<ja>@Bean</ja>(propertyNamer=PropertyNamerDashedLC.<jk>class</jk>)
-        *      <jk>public class</jk> MyClass {
-        *              ...
-        *      }
-        *              </p>
-        *      </dd>
-        * </dl>
-        */
-       Class<? extends PropertyNamer> propertyNamer() default 
PropertyNamerDefault.class;
-
-       /**
-        * Defines a virtual property on a superclass that identifies bean 
subtype classes.
-        * <p>
-        *      In the following example, the abstract class has two subclasses 
that are differentiated
-        *              by a property called <code>subType</code>
-        * <p class='bcode'>
-        *      <jc>// Abstract superclass</jc>
-        *      <ja>@Bean</ja>(
-        *              subTypeProperty=<js>"subType"</js>,
-        *              subTypes={
-        *                      <ja>@BeanSubType</ja>(type=A1.<jk>class</jk>, 
id=<js>"A1"</js>),
-        *                      <ja>@BeanSubType</ja>(type=A2.<jk>class</jk>, 
id=<js>"A2"</js>)
-        *              }
-        *      )
-        *      <jk>public class</jk> A {
-        *              <jk>public</jk> String <jf>f0</jf> = <js>"f0"</js>;
-        *      }
-        *
-        *      <jc>// Subclass 1</jc>
-        *      <jk>public class</jk> A1 <jk>extends</jk> A {
-        *              <jk>public</jk> String <jf>f1</jf>;
-        *      }
-        *
-        *      <jc>// Subclass 2</jc>
-        *      <jk>public class</jk> A2 <jk>extends</jk> A {
-        *              <jk>public</jk> String <jf>f2</jf>;
-        *      }
-        * <p>
-        *      The following shows what happens when serializing a subclassed 
object to JSON:
-        * <p class='bcode'>
-        *      JsonSerializer s = JsonSerializer.<jsf>DEFAULT_LAX</jsf>;
-        *      A1 a1 = <jk>new</jk> A1();
-        *      a1.<jf>f1</jf> = <js>"f1"</js>;
-        *      String r = s.serialize(a1);
-        *      
<jsm>assertEquals</jsm>(<js>"{subType:'A1',f1:'f1',f0:'f0'}"</js>, r);
-        * </p>
-        * <p>
-        *      The following shows what happens when parsing back into the 
original object.
-        * <p>
-        * <p class='bcode'>
-        *      JsonParser p = JsonParser.<jsf>DEFAULT</jsf>;
-        *      A a = p.parse(r, A.<jk>class</jk>);
-        *      <jsm>assertTrue</jsm>(a <jk>instanceof</jk> A1);
-        * </p>
-        * <p>
-        *      This annotation is an alternative to using the {@link 
BeanTransform} class with an implemented {@link 
BeanTransform#getSubTypeProperty()} method.
-        */
-       String subTypeProperty() default "";
-
-       /**
-        * Used in conjunction with {@link #subTypeProperty()} to set up bean 
subtypes.
-        */
-       BeanSubType[] subTypes() default {};
-
-       /**
-        * Identifies a class to be used as the interface class for this and 
all subclasses.
-        * <p>
-        *      When specified, only the list of properties defined on the 
interface class will be used during serialization.
-        *      Additional properties on subclasses will be ignored.
-        * <p class='bcode'>
-        *      <jc>// Parent class</jc>
-        *      <ja>@Bean</ja>(interfaceClass=A.<jk>class</jk>)
-        *      <jk>public abstract class</jk> A {
-        *              <jk>public</jk> String <jf>f0</jf> = <js>"f0"</js>;
-        *      }
-        *
-        *      <jc>// Sub class</jc>
-        *      <jk>public class</jk> A1 <jk>extends</jk> A {
-        *              <jk>public</jk> String <jf>f1</jf> = <js>"f1"</js>;
-        *      }
-        *
-        *      JsonSerializer s = JsonSerializer.<jsf>DEFAULT_LAX</jsf>;
-        *      A1 a1 = <jk>new</jk> A1();
-        *      String r = s.serialize(a1);
-        *      <jsm>assertEquals</jsm>(<js>"{f0:'f0'}"</js>, r);  // Note f1 
is not serialized.
-        * </p>
-        * <p>
-        *      Note that this annotation can be used on the parent class so 
that it filters to all child classes,
-        *              or can be set individually on the child classes.
-        * <p>
-        *      This annotation is an alternative to using the {@link 
BeanTransform} class with an implemented {@link 
BeanTransform#getInterfaceClass()} method.
-        */
-       Class<?> interfaceClass() default Object.class;
-
-       /**
-        * Identifies a stop class for the annotated class.
-        * <p>
-        * Identical in purpose to the stop class specified by {@link 
Introspector#getBeanInfo(Class, Class)}.
-        * Any properties in the stop class or in its baseclasses will be 
ignored during analysis.
-        * <p>
-        * For example, in the following class hierarchy, instances of 
<code>C3</code> will include property <code>p3</code>, but
-        *      not <code>p1</code> or <code>p2</code>.
-        * <p class='bcode'>
-        *      <jk>public class</jk> C1 {
-        *              <jk>public int</jk> getP1();
-        *      }
-        *
-        *      <jk>public class</jk> C2 <jk>extends</jk> C1 {
-        *              <jk>public int</jk> getP2();
-        *      }
-        *
-        *      <ja>@Bean</ja>(stopClass=C2.<jk>class</jk>)
-        *      <jk>public class</jk> C3 <jk>extends</jk> C2 {
-        *              <jk>public int</jk> getP3();
-        *      }
-        * </p>
-        */
-       Class<?> stopClass() default Object.class;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanConstructor.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanConstructor.java
 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanConstructor.java
deleted file mode 100644
index 875bbe4..0000000
--- 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanConstructor.java
+++ /dev/null
@@ -1,86 +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.annotation;
-
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.lang.annotation.*;
-
-import org.apache.juneau.*;
-
-/**
- * Maps constructor arguments to property names on beans with read-only 
properties.
- * <p>
- *     This annotation can be used in the case of beans with properties whose 
values can only be set by passing
- *     them in through a constructor on the class.<br>
- *     Since method parameter names are lost during compilation, this 
annotation essentially redefines them
- *     so that they are available at runtime.
- * <p>
- *     The definition of a read-only bean is a bean with properties with only 
getters, like shown below...
- * <p class='bcode'>
- *     <jk>public class</jk> Person {
- *             <jk>private final</jk> String <jf>name</jf>;
- *             <jk>private final int</jk> <jf>age</jf>;
- *
- *             
<ja>@BeanConstructor</ja>(properties={<js>"name"</js>,<js>"age"</js>})
- *             <jk>public</jk> Person(String name, <jk>int</jk> age) {
- *                     <jk>this</jk>.<jf>name</jf> = name;
- *                     <jk>this</jk>.<jf>age</jf> = age;
- *             }
- *
- *             <jc>// Read only properties.</jc>
- *
- *             <jk>public</jk> String getName() {
- *                     <jk>return</jk> <jf>name</jf>;
- *             }
- *
- *             <jk>public int</jk> getAge() {
- *                     <jk>return</jk> <jf>age</jf>;
- *             }
- *     }
- *
- *     String json = <js>"{name:'John Smith',age:45}"</js>;
- *     Person p = JsonParser.<jsf>DEFAULT</jsf>.parse(json);
- *     String name = p.getName();  <jc>// "John Smith"</jc>
- *     <jk>int</jk> age = p.getAge();   <jc>// 45</jc>
- * </p>
- * <p>
- *     This annotation can only be applied to constructors and can only be 
applied to one constructor per class.
- * <p>
- *     When present, bean instantiation is delayed until the call to {@link 
BeanMap#getBean()}.
- *     Until then, bean property values are stored in a local cache until 
<code>getBean()</code> is called.
- *     Because of this additional caching step, parsing into read-only beans 
tends to be slower and use
- *     more memory than parsing into beans with writable properties.
- * <p>
- *     Attempting to call {@link BeanMap#put(String,Object)} on a read-only 
property after calling {@link BeanMap#getBean()}
- *     will result in a {@link BeanRuntimeException} being thrown.
- *     Multiple calls to {@link BeanMap#getBean()} will return the same bean 
instance.
- * <p>
- *     Beans can be defined with a combination of read-only and read-write 
properties.
- *
- * @author James Bognar ([email protected])
- */
-@Documented
-@Target(CONSTRUCTOR)
-@Retention(RUNTIME)
-@Inherited
-public @interface BeanConstructor {
-
-       /**
-        * The names of the properties of the constructor arguments.
-        * <p>
-        *      The number of properties listed must match the number of 
arguments in the constructor.
-        */
-       String[] properties() default {};
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanIgnore.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanIgnore.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanIgnore.java
deleted file mode 100644
index a976759..0000000
--- 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanIgnore.java
+++ /dev/null
@@ -1,38 +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.annotation;
-
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.lang.annotation.*;
-
-/**
- * Ignore classes, fields, and methods from being interpreted as bean or bean 
components.
- * <p>
- *     Applied to classes that may look like beans, but you want to be treated 
as non-beans.
- *     For example, if you want to force a bean to be converted to a string 
using the <code>toString()</code>
- *             method, use this annoation on the class.
- * <p>
- *     Applies to fields that should not be interpreted as bean property 
fields.
- * <p>
- *     Applies to getters or setters that should not be interpreted as bean 
property getters or setters.
- *
- * @author James Bognar ([email protected])
- */
-@Documented
-@Target({FIELD,METHOD,TYPE})
-@Retention(RUNTIME)
-@Inherited
-public @interface BeanIgnore {}
-

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanProperty.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanProperty.java
 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanProperty.java
deleted file mode 100644
index e9ff331..0000000
--- 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanProperty.java
+++ /dev/null
@@ -1,186 +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.annotation;
-
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.lang.annotation.*;
-import java.util.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.jena.*;
-import org.apache.juneau.transform.*;
-import org.apache.juneau.xml.*;
-import org.apache.juneau.xml.annotation.*;
-
-/**
- * Used tailor how bean properties get interpreted by the framework.
- * <p>
- *     Can be used to do the following:
- * <ul class='spaced-list'>
- *     <li>Override the name of a property.
- *     <li>Identify a getter or setter with a non-standard naming convention.
- *     <li>Identify a specific subclass for a property with a general class 
type.
- *     <li>Identify class types of elements in properties of type 
<code>Collection</code> or <code>Map</code>.
- *     <li>Hide properties during serialization.
- *     <li>Associate transforms with bean property values, such as a transform 
to convert a <code>Calendar</code> field to a string.
- *     <li>Override the list of properties during serialization on child 
elements of a property of type <code>Collection</code> or <code>Map</code>.
- *     <li>Identify a property as the URL for a bean.
- *     <li>Identify a property as the ID for a bean.
- * </ul>
- * <p>
- *     This annotation is applied to public fields and public getter/setter 
methods of beans.
- *
- * @author James Bognar ([email protected])
- */
-@Documented
-@Target({FIELD,METHOD})
-@Retention(RUNTIME)
-@Inherited
-public @interface BeanProperty {
-
-       /**
-        * Identifies the name of the property.
-        * <p>
-        *      Normally, this is automatically inferred from the field name or 
getter method name
-        *      of the property.  However, this property can be used to assign 
a different
-        *      property name from the automatically inferred value.
-        * <p>
-        *      If the {@link BeanContext#BEAN_beanFieldVisibility} setting on 
the bean context excludes this field (e.g. the visibility
-        *      is set to PUBLIC, but the field is PROTECTED), this annotation 
can be used to force the field to be identified as a property.
-        */
-       String name() default "";
-
-       /**
-        * Identifies a specialized class type for the property.
-        * <p>
-        *      Normally this can be inferred through reflection of the field 
type or getter return type.
-        *      However, you'll want to specify this value if you're parsing 
beans where the bean property class
-        *      is an interface or abstract class to identify the bean type to 
instantiate.  Otherwise, you may
-        *      cause an {@link InstantiationException} when trying to set 
these fields.
-        * <p>
-        *      This property must denote a concrete bean class with a no-arg 
constructor.
-        *
-        * <dl>
-        *      <dt>Example:</dt>
-        *      <dd>
-        *              <p class='bcode'>
-        *      <jk>public class</jk> MyBean {
-        *
-        *              <jc>// Identify concrete map type.</jc>
-        *              <ja>@BeanProperty</ja>(type=HashMap.<jk>class</jk>)
-        *              <jk>public</jk> Map <jf>p1</jf>;
-        *      }
-        *              </p>
-        *      </dd>
-        * </dl>
-        */
-       Class<?> type() default Object.class;
-
-       /**
-        * For bean properties of maps and collections, this annotation can be 
used to identify
-        * the class types of the contents of the bean property object when the 
generic parameter
-        * types are interfaces or abstract classes.
-        *
-        * <dl>
-        *      <dt>Example:</dt>
-        *      <dd>
-        *              <p class='bcode'>
-        *      <jk>public class</jk> MyBean {
-        *
-        *              <jc>// Identify concrete map type with String keys and 
Integer values.</jc>
-        *              <ja>@BeanProperty</ja>(type=HashMap.<jk>class</jk>, 
params={String.<jk>class</jk>,Integer.<jk>class</jk>})
-        *              <jk>public</jk> Map <jf>p1</jf>;
-        *      }
-        *              </p>
-        *      </dd>
-        * </dl>
-        */
-       Class<?>[] params() default {};
-
-       /**
-        * Associates an object transform with this bean property that will 
convert it
-        * to a different value during serialization and parsing.
-        * <p>
-        * This annotation supersedes any transform associated with the bean 
property type
-        *      class itself.
-        * <p>
-        * Typically used for rendering {@link Date Dates} and {@link Calendar 
Calendars}
-        *      as a particular string format.
-        *
-        * <dl>
-        *      <dt>Example:</dt>
-        *      <dd>
-        *              <p class='bcode'>
-        *      <jk>public class</jk> MyClass {
-        *
-        *              <jc>// During serialization, convert to ISO8601 
date-time string.</jc>
-        *              
<ja>@BeanProperty</ja>(transform=CalendarTransform.ISO8601DT.<jk>class</jk>)
-        *              <jk>public</jk> Calendar getTime();
-        *      }
-        *              </p>
-        *      </dd>
-        * </dl>
-        */
-       Class<? extends PojoTransform<?,?>> transform() default 
PojoTransform.NULL.class;
-
-       /**
-        * Used to limit which child properties are rendered by the serializers.
-        * <p>
-        * Can be used on any of the following bean property types:
-        * <ul class='spaced-list'>
-        *      <li>Beans - Only render the specified properties of the bean.
-        *      <li>Maps - Only render the specified entries in the map.
-        *      <li>Bean/Map arrays - Same, but applied to each element in the 
array.
-        *      <li>Bean/Map collections - Same, but applied to each element in 
the collection.
-        * </ul>
-        *
-        * <dl>
-        *      <dt>Example:</dt>
-        *      <dd>
-        *              <p class='bcode'>
-        *      <jk>public class</jk> MyClass {
-        *
-        *              <jc>// Only render 'f1' when serializing this bean 
property.</jc>
-        *              <ja>@BeanProperty</ja>(properties={<js>"f1"</js>})
-        *              <jk>public</jk> MyChildClass x1 = <jk>new</jk> 
MyChildClass();
-        *      }
-        *
-        *      <jk>public class</jk> MyChildClass {
-        *              <jk>public int</jk> f1 = 1;
-        *              <jk>public int</jk> f2 = 2;
-        *      }
-        *
-        *      <jc>// Renders "{x1:{f1:1}}"</jc>
-        *      String json = 
JsonSerializer.<jsf>DEFAULT</jsf>.serialize(<jk>new</jk> MyClass());
-        *              </p>
-        *      </dd>
-        * </dl>
-        */
-       String[] properties() default {};
-
-       /**
-        * Marks a bean property as a resource URI identifier for the bean.
-        * <p>
-        * Has the following effects on the following serializers:
-        * <ul class='spaced-list'>
-        *      <li>{@link XmlSerializer} - Will be rendered as an XML 
attribute on the bean element, unless
-        *              marked with a {@link Xml#format} value of {@link 
XmlFormat#ELEMENT}.
-        *      <li>{@link RdfSerializer} - Will be rendered as the value of 
the <js>"rdf:about"</js> attribute
-        *              for the bean.
-        * </ul>
-        */
-       boolean beanUri() default false;
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanSubType.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanSubType.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanSubType.java
deleted file mode 100644
index f4486a9..0000000
--- 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/BeanSubType.java
+++ /dev/null
@@ -1,46 +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.annotation;
-
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.lang.annotation.*;
-
-/**
- * Maps a bean subclass with a string identifier.
- * <p>
- *     Used in conjunction with {@link Bean#subTypes()} for defining mappings 
of bean subclasses with string identifiers.
- *
- * @author James Bognar ([email protected])
- */
-@Documented
-@Target({})
-@Retention(RUNTIME)
-@Inherited
-public @interface BeanSubType {
-
-       /**
-        * The bean subclass.
-        * <p>
-        * Must be a subclass or subinterface of the parent bean.
-        */
-       Class<?> type();
-
-       /**
-        * A string identifier for this subtype.
-        * <p>
-        * This identifier is used in conjunction with the {@link 
Bean#subTypeProperty()} during serialization
-        *      to create a <code>{subType:<js>'id'</js>}</code> property on 
the serialized object.
-        */
-       String id();
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Consumes.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Consumes.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Consumes.java
deleted file mode 100644
index f9db621..0000000
--- a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Consumes.java
+++ /dev/null
@@ -1,73 +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.annotation;
-
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.lang.annotation.*;
-
-import org.apache.juneau.parser.*;
-
-/**
- * Annotation used on subclasses of {@link Parser} to identify the media types 
that it consumes.
- *
- *
- * <h6 class='topic'>Description</h6>
- * <p>
- *     Provides a way to define the contents of {@link Parser#getMediaTypes()} 
through an annotation.
- * <p>
- *     The {@link Parser#getMediaTypes()} default implementation gathers the 
media types by looking
- *             for this annotation.
- *     It should be noted that this annotation is optional and that the {@link 
Parser#getMediaTypes()} method can
- *             be overridden by subclasses to return the media types 
programmatically.
- *
- *
- * <h6 class='topic'>Examples</h6>
- * <p>
- *     Standard example:
- * <p class='bcode'>
- *     <ja>@Consumes</ja>({<js>"application/json"</js>,<js>"text/json"</js>})
- *     <jk>public class</jk> JsonParser <jk>extends</jk> ReaderParser {...}
- * </p>
- * <p>
- *     The media types can also be <code>media-range</code> values per
- *             <a 
href='http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1'>RFC2616/14.1</a>.
- * <p class='bcode'>
- *     <jc>// Consumes any text</jc>
- *     <ja>@Consumes</ja>({<js>"text\/*"</js>})
- *     <jk>public class</jk> AnythingParser <jk>extends</jk> ReaderParser {...}
- *
- *     <jc>// Consumes anything</jc>
- *     <ja>@Consumes</ja>({<js>"*\/*"</js>})
- *     <jk>public class</jk> AnythingParser <jk>extends</jk> ReaderParser {...}
- * </p>
- *
- *
- * @author James Bognar ([email protected])
- */
-@Documented
-@Target(TYPE)
-@Retention(RUNTIME)
-@Inherited
-public @interface Consumes {
-
-       /**
-        * The media types that the parser can handle.
-        * <p>
-        *      Can contain meta-characters per the <code>media-type</code> 
specification of
-        *      <a 
href='http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1'>RFC2616/14.1</a>
-        * @return The media types that the parser can handle.
-        */
-       String[] value() default {};
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/NameProperty.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/NameProperty.java
 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/NameProperty.java
deleted file mode 100644
index dfc3926..0000000
--- 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/NameProperty.java
+++ /dev/null
@@ -1,35 +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.annotation;
-
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.lang.annotation.*;
-
-import org.apache.juneau.ini.*;
-
-/**
- * Identifies a setter as a method for setting the name of a POJO as it's 
known by
- * its parent object.
- * <p>
- * For example, the {@link Section} class must know the name it's known by 
it's parent
- * {@link ConfigFileImpl} class, so parsers will call this method with the 
sectio name
- * using the {@link Section#setName(String)} method.
- *
- * @author James Bognar ([email protected])
- */
-@Target({METHOD})
-@Retention(RUNTIME)
-@Inherited
-public @interface NameProperty {}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/ParentProperty.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/ParentProperty.java
 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/ParentProperty.java
deleted file mode 100644
index 0b044bf..0000000
--- 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/ParentProperty.java
+++ /dev/null
@@ -1,35 +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.annotation;
-
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.lang.annotation.*;
-
-import org.apache.juneau.ini.*;
-
-/**
- * Identifies a setter as a method for adding a parent reference to a child 
object.
- * <p>
- * Used by the parsers to add references to parent objects in child objects.
- * For example, the {@link Section} class cannot exist outside the scope of a 
parent
- * {@link ConfigFileImpl} class, so parsers will add a reference to the config 
file
- * using the {@link Section#setParent(ConfigFileImpl)} method.
- *
- * @author James Bognar ([email protected])
- */
-@Target({METHOD})
-@Retention(RUNTIME)
-@Inherited
-public @interface ParentProperty {}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Produces.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Produces.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Produces.java
deleted file mode 100644
index 77f41f2..0000000
--- a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Produces.java
+++ /dev/null
@@ -1,86 +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.annotation;
-
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.lang.annotation.*;
-
-import org.apache.juneau.serializer.*;
-
-/**
- * Annotation used on subclasses of {@link Serializer} to identify the media 
types that it produces.
- *
- *
- * <h6 class='topic'>Description</h6>
- * <p>
- *     Provides a way to define the contents of {@link 
Serializer#getMediaTypes()} through an annotation.
- * <p>
- *     The {@link Serializer#getMediaTypes()} default implementation gathers 
the media types by looking
- *             for this annotation.
- *     It should be noted that this annotation is optional and that the {@link 
Serializer#getMediaTypes()} method can
- *             be overridden by subclasses to return the media types 
programmatically.
- *
- *
- * <h6 class='topic'>Examples</h6>
- * <p>
- *     Standard example:
- * <p class='bcode'>
- *     <ja>@Produces</ja>({<js>"application/json"</js>,<js>"text/json"</js>})
- *     <jk>public class</jk> JsonSerializer <jk>extends</jk> WriterSerializer 
{...}
- * </p>
- * <p>
- *     The media types can also be <code>media-range</code> values per
- *             <a 
href='http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1'>RFC2616/14.1</a>.
- *     When meta-characters are used, you should specify the {@link 
#contentType()} value to
- *             indicate the real media type value that can be set on the 
<code>Content-Type</code> response header.
- *
- * <p class='bcode'>
- *     <jc>// Produces any text</jc>
- *     <ja>@Produces</ja>(value=<js>"text\/*"</js>, 
contentType=<js>"text/plain"</js>)
- *     <jk>public class</jk> AnythingSerializer <jk>extends</jk> 
WriterSerializer {...}
- *
- *     <jc>// Produces anything</jc>
- *     <ja>@Produces</ja>(value=<js>"*\/*"</js>, 
contentType=<js>"text/plain"</js>)
- *     <jk>public class</jk> AnythingSerializer <jk>extends</jk> 
WriterSerializer {...}
- * </p>
- *
- *
- * @author James Bognar ([email protected])
- */
-@Documented
-@Target(TYPE)
-@Retention(RUNTIME)
-@Inherited
-public @interface Produces {
-
-       /**
-        * The media types that the serializer can handle.
-        * <p>
-        *      Can contain meta-characters per the <code>media-type</code> 
specification of
-        *      <a 
href='http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1'>RFC2616/14.1</a>
-        * @return The media types that the parser can handle.
-        */
-       String[] value() default {};
-
-       /**
-        * The content type that this serializer produces.
-        * <p>
-        *      Can be used to override the <code>Content-Type</code> response 
type if the media types
-        *              are <code>media-ranges</code> with meta-characters, or 
the <code>Content-Type</code>
-        *              differs from the media type for some reason.
-        * @return The content type that this serializer produces, or blank if 
no overriding value exists.
-        */
-       String contentType() default "";
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Remoteable.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Remoteable.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Remoteable.java
deleted file mode 100644
index 5b68bb8..0000000
--- 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Remoteable.java
+++ /dev/null
@@ -1,27 +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.annotation;
-
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.lang.annotation.*;
-
-/**
- * Identifies services whose Java class or methods can be invoked remotely.
- */
-@Documented
-@Target({TYPE,METHOD})
-@Retention(RUNTIME)
-@Inherited
-public @interface Remoteable {}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/ThreadSafe.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/ThreadSafe.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/ThreadSafe.java
deleted file mode 100644
index 0fe4abb..0000000
--- 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/ThreadSafe.java
+++ /dev/null
@@ -1,29 +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.annotation;
-
-import static java.lang.annotation.ElementType.*;
-
-import java.lang.annotation.*;
-
-/**
- * Identifies a class as being thread-safe.
- * <p>
- * Used for documentation purposes only.
- *
- * @author James Bognar ([email protected])
- */
-@Documented
-@Target(TYPE)
-@Inherited
-public @interface ThreadSafe {}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Transform.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Transform.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Transform.java
deleted file mode 100644
index f0029a6..0000000
--- 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/Transform.java
+++ /dev/null
@@ -1,86 +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.annotation;
-
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.lang.annotation.*;
-
-import org.apache.juneau.serializer.*;
-import org.apache.juneau.transform.*;
-
-/**
- * Annotation that can be applied to a class to associate a transform with it.
- * <p>
- *     Typically used to associate {@link PojoTransform PojoTransforms} with 
classes using annotations
- *             instead of programatically through a method such as {@link 
Serializer#addTransforms(Class...)}.
- *
- * <h6 class='topic'>Example</h6>
- * <p>
- *     In this case, a transform is being applied to a bean that will force it 
to be serialized as a <code>String</code>
- * <p class='bcode'>
- *     <jc>// Our bean class</jc>
- *     <ja>@Transform</ja>(BTransform.<jk>class</jk>)
- *     <jk>public class</jk> B {
- *             <jk>public</jk> String <jf>f1</jf>;
- *     }
- *
- *     <jc>// Our transform to force the bean to be serialized as a String</jc>
- *     <jk>public class</jk> BTransform <jk>extends</jk> 
PojoTransform&lt;B,String&gt; {
- *             <jk>public</jk> String transform(B o) <jk>throws</jk> 
SerializeException {
- *                     <jk>return</jk> o.f1;
- *             }
- *             <jk>public</jk> B normalize(String f, ClassMeta&lt;?&gt; hint) 
<jk>throws</jk> ParseException {
- *                     B b1 = <jk>new</jk> B();
- *                     b1.<jf>f1</jf> = f;
- *                     <jk>return</jk> b1;
- *             }
- *     }
- *
- *     <jk>public void</jk> testTransform() <jk>throws</jk> Exception {
- *             WriterSerializer s = JsonSerializer.<jsf>DEFAULT</jsf>;
- *             B b = <jk>new</jk> B();
- *             b.<jf>f1</jf> = <js>"bar"</js>;
- *             String json = s.serialize(b);
- *             <jsm>assertEquals</jsm>(<js>"'bar'"</js>, json);
- *
- *             ReaderParser p = JsonParser.<jsf>DEFAULT</jsf>;
- *             b = p.parse(json, B.<jk>class</jk>);
- *             <jsm>assertEquals</jsm>(<js>"bar"</js>, t.<jf>f1</jf>);
- *     }
- * </p>
- * <p>
- *     Note that using this annotation is functionally equivalent to adding 
transforms to the serializers and parsers:
- * <p class='bcode'>
- *     WriterSerializer s = <jk>new</jk> 
JsonSerializer.addTransforms(BTransform.<jk>class</jk>);
- *     ReaderParser p = <jk>new</jk> 
JsonParser.addTransforms(BTransform.<jk>class</jk>);
- * </p>
- * <p>
- *     It is technically possible to associate a {@link BeanTransform} with a 
bean class using this annotation.
- *     However in practice, it's almost always less code to simply use the 
{@link Bean @Bean} annotation.
- * </p>
- *
- * @author James Bognar ([email protected])
- */
-@Documented
-@Target(TYPE)
-@Retention(RUNTIME)
-@Inherited
-public @interface Transform {
-
-       /**
-        * The transform class.
-        */
-       Class<? extends org.apache.juneau.transform.Transform> value() default 
org.apache.juneau.transform.Transform.NULL.class;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/URI.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/URI.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/URI.java
deleted file mode 100644
index df1d02a..0000000
--- a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/URI.java
+++ /dev/null
@@ -1,68 +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.annotation;
-
-import static java.lang.annotation.ElementType.*;
-import static java.lang.annotation.RetentionPolicy.*;
-
-import java.lang.annotation.*;
-import java.net.*;
-
-import org.apache.juneau.serializer.*;
-
-/**
- * Used to identify a class or bean property as a URI.
- * <p>
- *     By default, instances of {@link URL} and {@link URI} are considered 
URIs during serialization, and are
- *             handled differently depending on the serializer (e.g. 
<code>HtmlSerializer</code> creates a hyperlink,
- *             <code>RdfXmlSerializer</code> creates an 
<code>rdf:resource</code> object, etc...).
- * <p>
- *     This annotation allows you to identify other classes that return URIs 
via <code>toString()</code> as URI objects.
- * <p>
- *     Relative URIs are automatically prepended with {@link 
SerializerContext#SERIALIZER_absolutePathUriBase} and {@link 
SerializerContext#SERIALIZER_relativeUriBase}
- *             during serialization just like relative <code>URIs</code>.
- * <p>
- *     This annotation can be applied to classes, interfaces, or bean property 
methods for fields.
- *
- * <h6 class='topic'>Examples</h6>
- * <p class='bcode'>
- *
- *     <jc>// Applied to a class whose toString() method returns a URI.</jc>
- *     <ja>@URI</ja>
- *     <jk>public class</jk> MyURI {
- *             <ja>@Override</ja>
- *             <jk>public</jk> String toString() {
- *                     <jk>return</jk> 
<js>"http://localhost:9080/foo/bar";</js>;
- *             }
- *     }
- *
- *     <jc>// Applied to bean properties</jc>
- *     <jk>public class</jk> MyBean {
- *
- *             <ja>@URI</ja>
- *             <jk>public</jk> String <jf>beanUri</jf>;
- *
- *             <ja>@URI</ja>
- *             <jk>public</jk> String getParentUri() {
- *                     ...
- *             }
- *     }
- * </p>
- *
- * @author James Bognar ([email protected])
- */
-@Documented
-@Target({TYPE,FIELD,METHOD})
-@Retention(RUNTIME)
-@Inherited
-public @interface URI {}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/package.html
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/package.html 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/package.html
deleted file mode 100644
index 5e0089b..0000000
--- a/com.ibm.team.juno/src/main/java/org/apache/juneau/annotation/package.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE HTML>
-<!--
-/***************************************************************************************************************************
- * 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.
- *
- 
***************************************************************************************************************************/
- -->
-<html>
-<head>
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-       <style type="text/css">
-               /* For viewing in Page Designer */
-               @IMPORT url("../../../../../../javadoc.css");
-
-               /* For viewing in REST interface */
-               @IMPORT url("../htdocs/javadoc.css");
-               body { 
-                       margin: 20px; 
-               }       
-       </style>
-       <script>
-               /* Replace all @code and @link tags. */ 
-               window.onload = function() {
-                       document.body.innerHTML = 
document.body.innerHTML.replace(/\{\@code ([^\}]+)\}/g, '<code>$1</code>');
-                       document.body.innerHTML = 
document.body.innerHTML.replace(/\{\@link (([^\}]+)\.)?([^\.\}]+)\}/g, 
'<code>$3</code>');
-               }
-       </script>
-</head>
-<body>
-<p>General bean annotations</p>
-</body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/csv/CsvSerializer.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/csv/CsvSerializer.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/csv/CsvSerializer.java
deleted file mode 100644
index 19b73e5..0000000
--- a/com.ibm.team.juno/src/main/java/org/apache/juneau/csv/CsvSerializer.java
+++ /dev/null
@@ -1,95 +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.csv;
-
-import java.io.*;
-import java.util.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.serializer.*;
-
-/**
- * TODO - Work in progress.  CSV serializer.
- */
-@Produces("text/csv")
-@SuppressWarnings({"unchecked","rawtypes"})
-public final class CsvSerializer extends WriterSerializer {
-
-       
//--------------------------------------------------------------------------------
-       // Overridden methods
-       
//--------------------------------------------------------------------------------
-
-       @Override /* Serializer */
-       protected void doSerialize(SerializerSession session, Object o) throws 
Exception {
-               Writer out = session.getWriter();
-               BeanContext bc = session.getBeanContext();
-               ClassMeta cm = bc.getClassMetaForObject(o);
-               Collection l = null;
-               if (cm.isArray()) {
-                       l = Arrays.asList((Object[])o);
-               } else {
-                       l = (Collection)o;
-               }
-               if (l.size() > 0) {
-                       ClassMeta entryType = 
bc.getClassMetaForObject(l.iterator().next());
-                       if (entryType.isBean()) {
-                               BeanMeta<?> bm = entryType.getBeanMeta();
-                               int i = 0;
-                               for (BeanPropertyMeta pm : 
bm.getPropertyMetas()) {
-                                       if (i++ > 0)
-                                               out.append(',');
-                                       append(out, pm.getName());
-                               }
-                               out.append('\n');
-                               for (Object o2 : l) {
-                                       i = 0;
-                                       BeanMap bean = bc.forBean(o2);
-                                       for (BeanPropertyMeta pm : 
bm.getPropertyMetas()) {
-                                               if (i++ > 0)
-                                                       out.append(',');
-                                               append(out, pm.get(bean));
-                                       }
-                                       out.append('\n');
-                               }
-                       }
-               }
-       }
-
-       private void append(Writer w, Object o) throws IOException {
-               if (o == null)
-                       w.append("null");
-               else {
-                       String s = o.toString();
-                       boolean mustQuote = false;
-                       for (int i = 0; i < s.length() && ! mustQuote; i++) {
-                               char c = s.charAt(i);
-                               if (Character.isWhitespace(c) || c == ',')
-                                       mustQuote = true;
-                       }
-                       if (mustQuote)
-                               w.append('"').append(s).append('"');
-                       else
-                               w.append(s);
-               }
-       }
-
-       @Override /* Serializer */
-       public CsvSerializer clone() {
-               try {
-                       return (CsvSerializer)super.clone();
-               } catch (CloneNotSupportedException e) {
-                       throw new RuntimeException(e); // Shouldn't happen.
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/csv/package.html
----------------------------------------------------------------------
diff --git a/com.ibm.team.juno/src/main/java/org/apache/juneau/csv/package.html 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/csv/package.html
deleted file mode 100644
index 9dc8113..0000000
--- a/com.ibm.team.juno/src/main/java/org/apache/juneau/csv/package.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE HTML>
-<!--
-/***************************************************************************************************************************
- * 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.
- *
- 
***************************************************************************************************************************/
- -->
-<html>
-<head>
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-       <style type="text/css">
-               /* For viewing in Page Designer */
-               @IMPORT url("../../../../../javadoc.css");
-
-               /* For viewing in REST interface */
-               @IMPORT url("../htdocs/javadoc.css");
-               body { 
-                       margin: 20px; 
-               }       
-       </style>
-       <script>
-               /* Replace all @code and @link tags. */ 
-               window.onload = function() {
-                       document.body.innerHTML = 
document.body.innerHTML.replace(/\{\@code ([^\}]+)\}/g, '<code>$1</code>');
-                       document.body.innerHTML = 
document.body.innerHTML.replace(/\{\@link (([^\}]+)\.)?([^\.\}]+)\}/g, 
'<code>$3</code>');
-               }
-       </script>
-</head>
-<body>
-<p>CSV serialization and parsing support</p>
-
-<script>
-       function toggle(x) {
-               var div = x.nextSibling;
-               while (div != null && div.nodeType != 1)
-                       div = div.nextSibling;
-               if (div != null) {
-                       var d = div.style.display;
-                       if (d == 'block' || d == '') {
-                               div.style.display = 'none';
-                               x.className += " closed";
-                       } else {
-                               div.style.display = 'block';
-                               x.className = 
x.className.replace(/(?:^|\s)closed(?!\S)/g , '' );
-                       }
-               }
-       }
-</script>
-
-This code is currently work-in-progress.
-
-</body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/doc-files/AddressBook.html
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/doc-files/AddressBook.html 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/doc-files/AddressBook.html
deleted file mode 100644
index 10f6427..0000000
--- 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/doc-files/AddressBook.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE HTML>
-<!--
-/***************************************************************************************************************************
- * 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.
- *
- 
***************************************************************************************************************************/
- -->
-<html>
-<head>
-       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-       <style type="text/css">@IMPORT 
url("../../../../../../javadoc.css");</style>
-</head>
-<body style='margin:0 20'>
-       <p></p>
-       <!-- 
========================================================================================================
 -->
-       <a id="AddressBookSampleSource"></a><h2 class='topic'>AddressBook 
sample source</h2>
-       <p>
-               Sample code use in various examples throughout the Javadocs.  
Represents a simple POJO model consisting
-               of a collection (<code>LinkedList</code>), beans 
(<code>Address</code>, <code>Person</code>), and a type 4a transformed type 
(<code>Calendar</code>).
-       </p>
-       <p>
-               Public fields are used for bean properties in-leu of getters 
and setters to reduce the size of the example.  
-               Bean properties defined using getters and setters would work 
identically.
-       </p>
-       <a id="AddressBook"></a>
-       <h6 class='figure'>AddressBook.java</h6>
-       <p class='bcode'>
-       <jc>// A collection of people</jc>
-       <jk>public class</jk> AddressBook <jk>extends</jk> 
LinkedList&lt;Person&gt; {
-               
-               <jc>// Extra method for adding a person to this address book.
-               // Used in PojoIntrospector usage examples.</jc>
-               <jk>public void</jk> addPerson(String name, <jk>String</jk> 
birthDate, List&lt;Address&gt; addresses) {
-                       add(<jk>new</jk> Person(name, birthdate, addresses));
-               }  
-       }
-       </p>
-       <a id="Address"></a>
-       <h6 class='figure'>Address.java</h6>
-       <p class='bcode'>
-       <jk>public class</jk> Address {
-
-               <jc>// Bean properties</jc>
-               <jk>public</jk> String <jf>street</jf>, <jf>city</jf>, 
<jf>state</jf>;
-               <jk>public int</jk> <jf>zip</jf>;
-               <jk>public boolean</jk> <jf>isCurrent</jf>;
-               
-               <jc>// Bean constructor</jc>
-               <jk>public</jk> Address() {}
-               
-               <jc>// Other constructor</jc>
-               <jk>public</jk> Address(String street, String city, String 
state, <jk>int</jk> zip, <jk>boolean</jk> isCurrent) {
-                       <jk>this</jk>.<jf>street</jf> = street;
-                       <jk>this</jk>.<jf>city</jf> = city;
-                       <jk>this</jk>.<jf>state</jf> = state;
-                       <jk>this</jk>.<jf>zip</jf> = zip;
-                       <jk>this</jk>.<jf>isCurrent</jf> = isCurrent;
-               }
-       }
-       </p>
-       <a id="Person"></a>
-       <h6 class='figure'>Person.java</h6>
-       <p class='bcode'>
-       <jk>public class</jk> Person {
-
-               <jc>// Bean properties</jc>
-               <jk>public</jk> String <jf>name</jf>;
-               <jk>public int</jk> <jf>age</jf>;
-               <jk>public</jk> Calendar <jf>birthDate</jf>;
-
-               <jk>public</jk> LinkedList&lt;Address&gt; <jf>addresses</jf> = 
<jk>new</jk> LinkedList&lt;Address&gt;();
-       
-               <jc>// Bean constructor</jc>
-               <jk>public</jk> Person() {}
-       
-               <jc>// Other constructor</jc>
-               <jk>public</jk> Person(String name, String birthDate, 
Address...addresses) {
-                       <jk>this</jk>.<jf>name</jf> = name;
-                       <jk>this</jk>.<jf>birthDate</jf> = 
<jsm>getBirthDate</jsm>(birthDate);
-                       <jk>this</jk>.<jf>age</jf> = 
<jsm>calcAge</jsm>(birthDate);
-                       
<jk>this</jk>.<jf>addresses</jf>.addAll(Arrays.<jsm>asList</jsm>(addresses));
-               }
-       
-               <jc>// Other method</jc>
-               <jc>// Calculates a persons age based on the birthdate</jc>
-               <jk>public static int</jk> calcAge(String birthDate) {
-                       <jk>return new</jk> 
GregorianCalendar().get(Calendar.<jsf>YEAR</jsf>) - 
getBirthDate(birthDate).get(Calendar.<jsf>YEAR</jsf>);
-               }
-       
-               <jc>// Utility method</jc>
-               <jc>// Converts a birthdate string to a Calendar</jc>
-               <jk>private static</jk> Calendar getBirthDate(String birthDate) 
{
-                       <jk>try</jk> {
-                               Calendar c = <jk>new</jk> GregorianCalendar();
-                               
c.setTime(DateFormat.<jsm>getDateInstance</jsm>(DateFormat.<jsf>MEDIUM</jsf>).parse(birthDate));
-                               <jk>return</jk> c;
-                       } <jk>catch</jk> (ParseException e) {
-                               <jk>throw new</jk> RuntimeException(e);
-                       }
-               }
-       }
-       </p>
-
-</body>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/dto/Link.java
----------------------------------------------------------------------
diff --git a/com.ibm.team.juno/src/main/java/org/apache/juneau/dto/Link.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/dto/Link.java
deleted file mode 100644
index 080047d..0000000
--- a/com.ibm.team.juno/src/main/java/org/apache/juneau/dto/Link.java
+++ /dev/null
@@ -1,137 +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.dto;
-
-import java.text.*;
-
-import org.apache.juneau.html.*;
-import org.apache.juneau.urlencoding.*;
-import org.apache.juneau.utils.*;
-
-/**
- * Simple bean that implements a hyperlink for the HTML serializer.
- * <p>
- *     The name and url properties correspond to the following parts of a 
hyperlink in an HTML document...
- * <p class='bcode'>
- *     <xt>&lt;a</xt> 
<xa>href</xa>=<xs>'href'</xs><xt>&gt;</xt>name<xt>&lt;/a&gt;</xt>
- * <p>
- *     When encountered by the {@link HtmlSerializer} class, this object gets 
converted to a hyperlink.<br>
- *     All other serializers simply convert it to a simple bean.
- *
- * @author James Bognar ([email protected])
- */
-@HtmlLink(nameProperty = "name", hrefProperty = "href")
-public class Link implements Comparable<Link> {
-       private String name, href;
-
-       /** No-arg constructor. */
-       public Link() {}
-
-       /**
-        * Constructor.
-        *
-        * @param name Corresponds to the text inside of the <xt>&lt;A&gt;</xt> 
element.
-        * @param href Corresponds to the value of the <xa>href</xa> attribute 
of the <xt>&lt;A&gt;</xt> element.
-        * @param hrefArgs Optional arguments for {@link MessageFormat} style 
arguments in the href.
-        */
-       public Link(String name, String href, Object...hrefArgs) {
-               setName(name);
-               setHref(href, hrefArgs);
-       }
-
-       
//--------------------------------------------------------------------------------
-       // Bean properties
-       
//--------------------------------------------------------------------------------
-
-       /**
-        * Bean property getter:  <property>name</property>.
-        * Corresponds to the text inside of the <xt>&lt;A&gt;</xt> element.
-        *
-        * @return The value of the <property>name</property> property on this 
bean, or <jk>null</jk> if it is not set.
-        */
-       public String getName() {
-               return name;
-       }
-
-       /**
-        * Bean property setter:  <property>name</property>.
-        *
-        * @param name The new value for the <property>name</property> property 
on this bean.
-        * @return This object (for method chaining).
-        */
-       public Link setName(String name) {
-               this.name = name;
-               return this;
-       }
-
-       /**
-        * Bean property getter:  <property>href</property>.
-        * Corresponds to the value of the <xa>href</xa> attribute of the 
<xt>&lt;A&gt;</xt> element.
-        *
-        * @return The value of the <property>href</property> property on this 
bean, or <jk>null</jk> if it is not set.
-        */
-       public String getHref() {
-               return href;
-       }
-
-       /**
-        * Bean property setter:  <property>href</property>.
-        *
-        * @param href The new value for the <property>href</property> property 
on this bean.
-        * @return This object (for method chaining).
-        */
-       public Link setHref(String href) {
-               setHref(href, new Object[0]);
-               return this;
-       }
-
-       /**
-        * Bean property setter:  <property>href</property>.
-        * Same as {@link #setHref(String)} except allows for {@link 
MessageFormat} style arguments.
-        *
-        * @param href The new href.
-        * @param args Optional message format arguments.
-        * @return This object (for method chaining).
-        */
-       public Link setHref(String href, Object...args) {
-               for (int i = 0; i < args.length; i++)
-                       args[i] = 
UrlEncodingSerializer.DEFAULT.serializeUrlPart(args[i]);
-               this.href = (args.length > 0 ? MessageFormat.format(href, args) 
: href);
-               return this;
-       }
-
-       /**
-        * Returns the name so that the {@link PojoQuery} class can search 
against it.
-        */
-       @Override /* Object */
-       public String toString() {
-               return name;
-       }
-
-       @Override /* Comparable */
-       public int compareTo(Link o) {
-               return name.compareTo(o.name);
-       }
-
-       @Override /* Object */
-       public boolean equals(Object o) {
-               if (! (o instanceof Link))
-                       return false;
-               return (compareTo((Link)o) == 0);
-       }
-
-       @Override /* Object */
-       public int hashCode() {
-               return super.hashCode();
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/2c3a7cb5/com.ibm.team.juno/src/main/java/org/apache/juneau/dto/ResultSetList.java
----------------------------------------------------------------------
diff --git 
a/com.ibm.team.juno/src/main/java/org/apache/juneau/dto/ResultSetList.java 
b/com.ibm.team.juno/src/main/java/org/apache/juneau/dto/ResultSetList.java
deleted file mode 100644
index df4e1cc..0000000
--- a/com.ibm.team.juno/src/main/java/org/apache/juneau/dto/ResultSetList.java
+++ /dev/null
@@ -1,109 +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.dto;
-
-import java.sql.*;
-import java.util.*;
-
-import org.apache.juneau.internal.*;
-
-/**
- * Transforms an SQL {@link ResultSet ResultSet} into a list of maps.
- * <p>
- *     Loads the entire result set into an in-memory data structure, and then 
closes the result set object.
- *
- * @author James Bognar ([email protected])
- */
-public final class ResultSetList extends LinkedList<Map<String,Object>> {
-
-       private static final long serialVersionUID = 1L;
-
-       /**
-        * Constructor.
-        *
-        * @param rs The result set to load into this DTO.
-        * @param pos The start position (zero-indexed).
-        * @param limit The maximum number of rows to retrieve.
-        * @param includeRowNums Make the first column be the row number.
-        * @throws SQLException Database error.
-        */
-       public ResultSetList(ResultSet rs, int pos, int limit, boolean 
includeRowNums) throws SQLException {
-               try {
-                       int rowNum = pos;
-
-                       // Get the column names.
-                       ResultSetMetaData rsmd = rs.getMetaData();
-                       int offset = (includeRowNums ? 1 : 0);
-                       int cc = rsmd.getColumnCount();
-                       String[] columns = new String[cc + offset];
-                       if (includeRowNums)
-                               columns[0] = "ROW";
-                       int[] colTypes = new int[cc];
-
-                       for (int i = 0; i < cc; i++) {
-                               columns[i+offset] = rsmd.getColumnName(i+1);
-                               colTypes[i] = rsmd.getColumnType(i+1);
-                       }
-
-                       while (--pos > 0 && rs.next()) {}
-
-                       // Get the rows.
-                       while (limit-- > 0 && rs.next()) {
-                               Object[] row = new Object[cc + offset];
-                               if (includeRowNums)
-                                       row[0] = rowNum++;
-                               for (int i = 0; i < cc; i++) {
-                                       Object o = readEntry(rs, i+1, 
colTypes[i]);
-                                       row[i+offset] = o;
-                               }
-                               add(new SimpleMap(columns, row));
-                       }
-               } finally {
-                       rs.close();
-               }
-       }
-
-       /**
-        * Reads the specified column from the current row in the result set.
-        * Subclasses can override this method to handle specific data types in 
special ways.
-        *
-        * @param rs The result set to read from.
-        * @param col The column number (indexed by 1).
-        * @param dataType The {@link Types type} of the entry.
-        * @return The entry as an Object.
-        */
-       protected Object readEntry(ResultSet rs, int col, int dataType) {
-               try {
-                       switch (dataType) {
-                               case Types.BLOB:
-                                       Blob b = rs.getBlob(col);
-                                       return "blob["+b.length()+"]";
-                               case Types.CLOB:
-                                       Clob c = rs.getClob(col);
-                                       return "clob["+c.length()+"]";
-                               case Types.LONGVARBINARY:
-                                       return 
"longvarbinary["+IOUtils.count(rs.getBinaryStream(col))+"]";
-                               case Types.LONGVARCHAR:
-                                       return 
"longvarchar["+IOUtils.count(rs.getAsciiStream(col))+"]";
-                               case Types.LONGNVARCHAR:
-                                       return 
"longnvarchar["+IOUtils.count(rs.getCharacterStream(col))+"]";
-                               case Types.TIMESTAMP:
-                                       return rs.getTimestamp(col);  // Oracle 
returns com.oracle.TIMESTAMP objects from getObject() which isn't a Timestamp.
-                               default:
-                                       return rs.getObject(col);
-                       }
-               } catch (Exception e) {
-                       return e.getLocalizedMessage();
-               }
-       }
-}

Reply via email to