Skip to content

Commit

Permalink
Add flag for java.io.Serializable support to paperparcel options
Browse files Browse the repository at this point in the history
Fixes #156
  • Loading branch information
grandstaish authored Feb 11, 2017
1 parent 230604e commit d45f48c
Show file tree
Hide file tree
Showing 27 changed files with 153 additions and 71 deletions.
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/allclasses-frame.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>All Classes</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/allclasses-noframe.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>All Classes</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/constant-values.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>Constant Field Values</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/deprecated-list.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>Deprecated List</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/help-doc.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>API Help</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/index-files/index-1.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>A-Index</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/index-files/index-2.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>P-Index</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/index-files/index-3.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>R-Index</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/index-files/index-4.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>T-Index</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/index-files/index-5.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>W-Index</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
Expand Down
2 changes: 1 addition & 1 deletion docs/2.x/paperparcel/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>Generated Documentation (Untitled)</title>
<script type="text/javascript">
targetPage = "" + window.location.search;
Expand Down
6 changes: 3 additions & 3 deletions docs/2.x/paperparcel/overview-tree.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>Class Hierarchy</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
Expand Down Expand Up @@ -81,9 +81,9 @@ <h2 title="Interface Hierarchy">Interface Hierarchy</h2>
</ul>
<h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
<ul>
<li type="circle">paperparcel.<a href="paperparcel/Adapter.html" title="annotation in paperparcel"><span class="typeNameLink">Adapter</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle">paperparcel.<a href="paperparcel/PaperParcel.html" title="annotation in paperparcel"><span class="typeNameLink">PaperParcel</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle">paperparcel.<a href="paperparcel/PaperParcel.Options.html" title="annotation in paperparcel"><span class="typeNameLink">PaperParcel.Options</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle">paperparcel.<a href="paperparcel/Adapter.html" title="annotation in paperparcel"><span class="typeNameLink">Adapter</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle">paperparcel.<a href="paperparcel/ProcessorConfig.html" title="annotation in paperparcel"><span class="typeNameLink">ProcessorConfig</span></a> (implements java.lang.annotation.Annotation)</li>
</ul>
</div>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/paperparcel/Adapter.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:34 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>Adapter</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
Expand Down
42 changes: 35 additions & 7 deletions docs/2.x/paperparcel/paperparcel/PaperParcel.Options.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>PaperParcel.Options</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
Expand Down Expand Up @@ -159,33 +159,39 @@ <h3>Optional Element Summary</h3>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../paperparcel/PaperParcel.Options.html#allowSerializable--">allowSerializable</a></span></code>
<div class="block">Configures PaperParcel to never use Java serialization to read and write types.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../paperparcel/PaperParcel.Options.html#excludeAnnotations--">excludeAnnotations</a></span></code>
<div class="block">Configures PaperParcel to exclude any field that is annotated with any of the given
annotations.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../paperparcel/PaperParcel.Options.html#excludeModifiers--">excludeModifiers</a></span></code>
<div class="block">Configures PaperParcel to exclude any field that has the given modifiers.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../paperparcel/PaperParcel.Options.html#excludeNonExposedFields--">excludeNonExposedFields</a></span></code>
<div class="block">Configures PaperParcel to exclude all fields that are not annotated by one of the
annotations returned by <a href="../paperparcel/PaperParcel.Options.html#exposeAnnotations--"><code>exposeAnnotations()</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<tr class="altColor">
<td class="colFirst"><code>java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../paperparcel/PaperParcel.Options.html#exposeAnnotations--">exposeAnnotations</a></span></code>
<div class="block">Configures PaperParcel to only include fields that are annotated with any of the given
annotations.</div>
</td>
</tr>
<tr class="altColor">
<tr class="rowColor">
<td class="colFirst"><code>java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../paperparcel/PaperParcel.Options.html#reflectAnnotations--">reflectAnnotations</a></span></code>
<div class="block">Configures PaperParcel to be able to access private constructors and fields that are
Expand Down Expand Up @@ -298,7 +304,7 @@ <h4>excludeModifiers</h4>
<li class="blockList"><a name="reflectAnnotations--">
<!-- -->
</a>
<ul class="blockListLast">
<ul class="blockList">
<li class="blockList">
<h4>reflectAnnotations</h4>
<pre>public abstract&nbsp;java.lang.Class&lt;? extends java.lang.annotation.Annotation&gt;[]&nbsp;reflectAnnotations</pre>
Expand All @@ -319,6 +325,28 @@ <h4>reflectAnnotations</h4>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="allowSerializable--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>allowSerializable</h4>
<pre>public abstract&nbsp;boolean&nbsp;allowSerializable</pre>
<div class="block"><p>Configures PaperParcel to never use Java serialization to read and write types. Setting
this to <code>false</code> forces you to write custom <a href="../paperparcel/TypeAdapter.html" title="interface in paperparcel"><code>TypeAdapter</code></a>s to handle types that
could normally be handled using <code>Serializable</code>. This is useful if you are looking for
optimal performance gains.</p>

<p>By default Java serialization is allowed.</p></div>
<dl>
<dt>Default:</dt>
<dd>true</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/paperparcel/PaperParcel.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>PaperParcel</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/paperparcel/ProcessorConfig.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>ProcessorConfig</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/paperparcel/TypeAdapter.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>TypeAdapter</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/paperparcel/package-frame.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>paperparcel</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
Expand Down
4 changes: 2 additions & 2 deletions docs/2.x/paperparcel/paperparcel/package-summary.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>paperparcel</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
Expand Down
8 changes: 4 additions & 4 deletions docs/2.x/paperparcel/paperparcel/package-tree.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_112-release) on Wed Jan 11 14:56:35 NZDT 2017 -->
<!-- Generated by javadoc (1.8.0_112-release) on Sat Feb 11 16:59:38 NZDT 2017 -->
<title>paperparcel Class Hierarchy</title>
<meta name="date" content="2017-01-11">
<meta name="date" content="2017-02-11">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
<script type="text/javascript" src="../script.js"></script>
</head>
Expand Down Expand Up @@ -77,10 +77,10 @@ <h2 title="Interface Hierarchy">Interface Hierarchy</h2>
</ul>
<h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
<ul>
<li type="circle">paperparcel.<a href="../paperparcel/Adapter.html" title="annotation in paperparcel"><span class="typeNameLink">Adapter</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle">paperparcel.<a href="../paperparcel/PaperParcel.Options.html" title="annotation in paperparcel"><span class="typeNameLink">PaperParcel.Options</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle">paperparcel.<a href="../paperparcel/PaperParcel.html" title="annotation in paperparcel"><span class="typeNameLink">PaperParcel</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle">paperparcel.<a href="../paperparcel/ProcessorConfig.html" title="annotation in paperparcel"><span class="typeNameLink">ProcessorConfig</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle">paperparcel.<a href="../paperparcel/PaperParcel.Options.html" title="annotation in paperparcel"><span class="typeNameLink">PaperParcel.Options</span></a> (implements java.lang.annotation.Annotation)</li>
<li type="circle">paperparcel.<a href="../paperparcel/Adapter.html" title="annotation in paperparcel"><span class="typeNameLink">Adapter</span></a> (implements java.lang.annotation.Annotation)</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
Expand Down
11 changes: 11 additions & 0 deletions paperparcel-api/src/main/java/paperparcel/PaperParcel.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

package paperparcel;

import java.io.Serializable;
import java.lang.annotation.Annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
Expand Down Expand Up @@ -159,5 +160,15 @@
* fields and constructors so that the generated reflection calls will continue to work.</p>
*/
Class<? extends Annotation>[] reflectAnnotations() default {};

/**
* <p>Configures PaperParcel to never use Java serialization to read and write types. Setting
* this to {@code false} forces you to write custom {@link TypeAdapter}s to handle types that
* could normally be handled using {@link Serializable}. This is useful if you are looking for
* optimal performance gains.</p>
*
* <p>By default Java serialization is allowed.</p>
*/
boolean allowSerializable() default true;
}
}
Loading

0 comments on commit d45f48c

Please sign in to comment.