You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2016/08/27 15:58:40 UTC
[2/2] incubator-juneau git commit: Merge remote-tracking branch
'origin/master'
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/0cf51a69
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/0cf51a69
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/0cf51a69
Branch: refs/heads/master
Commit: 0cf51a696ccaad667f83d93175cad31faf17fffd
Parents: a91a56f cb4a4f2
Author: jamesbognar <ja...@gmail.com>
Authored: Sat Aug 27 11:58:25 2016 -0400
Committer: jamesbognar <ja...@gmail.com>
Committed: Sat Aug 27 11:58:25 2016 -0400
----------------------------------------------------------------------
juneau-core/src/main/java/org/apache/juneau/annotation/Pojo.java | 4 ++++
1 file changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/0cf51a69/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..cd56ab9
--- 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,58 @@@ import org.apache.juneau.transform.*
public @interface Pojo {
/**
++<<<<<<< HEAD
+ * 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<B,String> {
+ * <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>
++=======
+ * Associate a {@link PojoSwap} or {@link SurrogateSwap} with this class type.
++>>>>>>> refs/remotes/origin/master
*/
- Class<? extends Transform> transform() default Transform.NULL.class;
+ Class<?> swap() default Null.class;
}