Repository: incubator-juneau
Updated Branches:
  refs/heads/master 0cf51a696 -> 3b989d60f (forced update)


Merge remote-tracking branch 'origin/master'

Conflicts:
        juneau-core/src/main/java/org/apache/juneau/annotation/Pojo.java


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

Branch: refs/heads/master
Commit: 3b989d60f9710526b20e87753534412531ee3066
Parents: a91a56f cb4a4f2
Author: jamesbognar <[email protected]>
Authored: Sat Aug 27 11:58:25 2016 -0400
Committer: jamesbognar <[email protected]>
Committed: Sat Aug 27 12:08:23 2016 -0400

----------------------------------------------------------------------
 juneau-core/src/main/java/org/apache/juneau/annotation/Pojo.java | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/3b989d60/juneau-core/src/main/java/org/apache/juneau/annotation/Pojo.java
----------------------------------------------------------------------
diff --cc juneau-core/src/main/java/org/apache/juneau/annotation/Pojo.java
index 3a4d98e,c417341..ed1d1b6
--- a/juneau-core/src/main/java/org/apache/juneau/annotation/Pojo.java
+++ b/juneau-core/src/main/java/org/apache/juneau/annotation/Pojo.java
@@@ -32,54 -82,7 +32,55 @@@ import org.apache.juneau.transform.*
  public @interface Pojo {
  
        /**
 -       * Associate a {@link PojoSwap} or {@link SurrogateSwap} with this 
class type. 
 +       * Associate a {@link PojoSwap} or {@link SurrogateSwap} with this 
class type.
++       * 
 +       * <p>
 +       * Supports the following class types:
 +       * <ul>
 +       *      <li>Subclasses of {@link PojoSwap}.
 +       *      <li>Any other class.  Will get interpreted as a {@link 
SurrogateSwap}.
 +       * </ul>
 +       *
 +       * <h6 class='topic'>Example</h6>
 +       * <p>
 +       *      In this case, a swap 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>@Pojo</ja>(swap=BSwap.<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> BSwap <jk>extends</jk> 
PojoSwap&lt;B,String&gt; {
 +       *              <jk>public</jk> String swap(B o) <jk>throws</jk> 
SerializeException {
 +       *                      <jk>return</jk> o.f1;
 +       *              }
 +       *              <jk>public</jk> B unswap(String f) <jk>throws</jk> 
ParseException {
 +       *                      B b1 = <jk>new</jk> B();
 +       *                      b1.<jf>f1</jf> = f;
 +       *                      <jk>return</jk> b1;
 +       *              }
 +       *      }
 +       *
 +       *      <jk>public void</jk> test() <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 swaps to the serializers and parsers:
 +       * <p class='bcode'>
 +       *      WriterSerializer s = <jk>new</jk> 
JsonSerializer.addTransforms(BSwap.<jk>class</jk>);
 +       *      ReaderParser p = <jk>new</jk> 
JsonParser.addTransforms(BSwap.<jk>class</jk>);
 +       * </p>
         */
 -      Class<? extends Transform> transform() default Transform.NULL.class;
 +      Class<?> swap() default Null.class;
  }

Reply via email to