Leon 7 年之前
父節點
當前提交
a91e18db73

+ 123
- 127
.idea/workspace.xml 查看文件

2
 <project version="4">
2
 <project version="4">
3
   <component name="ChangeListManager">
3
   <component name="ChangeListManager">
4
     <list default="true" id="30b7e4a0-b899-49c3-865c-0311dfadae62" name="Default" comment="">
4
     <list default="true" id="30b7e4a0-b899-49c3-865c-0311dfadae62" name="Default" comment="">
5
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.class" />
6
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/ArrayConverter.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/ArrayConverter.class" />
7
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/ConversionAgent.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/ConversionAgent.class" />
8
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/ListConverter.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/ListConverter.class" />
9
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/StreamConverter.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/conversions/StreamConverter.class" />
10
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/tools/ReflectionUtils$1.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/tools/ReflectionUtils$1.class" />
11
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/tools/ReflectionUtils.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/tools/ReflectionUtils.class" />
12
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/tools/StringUtils.class" afterPath="$PROJECT_DIR$/target/classes/com/zipcodewilmington/streams/tools/StringUtils.class" />
5
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/PersonConversionAgent.java" />
13
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
6
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
14
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java" />
15
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java" />
16
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" />
7
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" />
17
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java" />
8
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java" />
18
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java" />
9
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java" />
19
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java" />
10
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java" />
20
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java" />
11
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java" />
21
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java" />
22
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java" />
23
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java" afterPath="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java" />
24
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java" afterPath="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java" />
25
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/PersonWarehouse.leonlog" afterPath="$PROJECT_DIR$/target/PersonWarehouse.leonlog" />
26
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/target/global.leonlog" afterPath="$PROJECT_DIR$/target/global.leonlog" />
27
     </list>
12
     </list>
28
     <ignored path="$PROJECT_DIR$/out/" />
13
     <ignored path="$PROJECT_DIR$/out/" />
29
     <ignored path="$PROJECT_DIR$/target/" />
14
     <ignored path="$PROJECT_DIR$/target/" />
38
   <component name="ExportTestResults" outputFolder="$PROJECT_DIR$" openResultsInEditor="true" userTempatePath="" />
23
   <component name="ExportTestResults" outputFolder="$PROJECT_DIR$" openResultsInEditor="true" userTempatePath="" />
39
   <component name="FileEditorManager">
24
   <component name="FileEditorManager">
40
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
25
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
41
-      <file leaf-file-name="StreamFilter.java" pinned="false" current-in-tab="true">
42
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java">
26
+      <file leaf-file-name="PersonFactory.java" pinned="false" current-in-tab="false">
27
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java">
43
           <provider selected="true" editor-type-id="text-editor">
28
           <provider selected="true" editor-type-id="text-editor">
44
-            <state relative-caret-position="-514">
45
-              <caret line="36" column="10" lean-forward="false" selection-start-line="36" selection-start-column="10" selection-end-line="36" selection-end-column="10" />
29
+            <state relative-caret-position="56">
30
+              <caret line="12" column="1" lean-forward="false" selection-start-line="12" selection-start-column="1" selection-end-line="12" selection-end-column="109" />
46
               <folding />
31
               <folding />
47
             </state>
32
             </state>
48
           </provider>
33
           </provider>
49
         </entry>
34
         </entry>
50
       </file>
35
       </file>
51
-      <file leaf-file-name="PersonFactory.java" pinned="false" current-in-tab="false">
52
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java">
36
+      <file leaf-file-name="StringUtils.java" pinned="false" current-in-tab="false">
37
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java">
53
           <provider selected="true" editor-type-id="text-editor">
38
           <provider selected="true" editor-type-id="text-editor">
54
-            <state relative-caret-position="54">
55
-              <caret line="36" column="18" lean-forward="true" selection-start-line="36" selection-start-column="18" selection-end-line="36" selection-end-column="18" />
39
+            <state relative-caret-position="272">
40
+              <caret line="28" column="0" lean-forward="true" selection-start-line="28" selection-start-column="0" selection-end-line="28" selection-end-column="0" />
56
               <folding />
41
               <folding />
57
             </state>
42
             </state>
58
           </provider>
43
           </provider>
61
       <file leaf-file-name="PersonWarehouse.java" pinned="false" current-in-tab="false">
46
       <file leaf-file-name="PersonWarehouse.java" pinned="false" current-in-tab="false">
62
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java">
47
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java">
63
           <provider selected="true" editor-type-id="text-editor">
48
           <provider selected="true" editor-type-id="text-editor">
64
-            <state relative-caret-position="-18">
65
-              <caret line="31" column="46" lean-forward="true" selection-start-line="31" selection-start-column="46" selection-end-line="31" selection-end-column="46" />
49
+            <state relative-caret-position="-343">
50
+              <caret line="14" column="109" lean-forward="false" selection-start-line="14" selection-start-column="109" selection-end-line="14" selection-end-column="109" />
66
               <folding />
51
               <folding />
67
             </state>
52
             </state>
68
           </provider>
53
           </provider>
69
         </entry>
54
         </entry>
70
       </file>
55
       </file>
71
-      <file leaf-file-name="LoggerHandler.java" pinned="false" current-in-tab="false">
72
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerHandler.java">
56
+      <file leaf-file-name="ArrayConverter.java" pinned="false" current-in-tab="false">
57
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java">
73
           <provider selected="true" editor-type-id="text-editor">
58
           <provider selected="true" editor-type-id="text-editor">
74
-            <state relative-caret-position="255">
75
-              <caret line="57" column="74" lean-forward="true" selection-start-line="57" selection-start-column="74" selection-end-line="57" selection-end-column="74" />
59
+            <state relative-caret-position="345">
60
+              <caret line="35" column="20" lean-forward="false" selection-start-line="35" selection-start-column="20" selection-end-line="35" selection-end-column="20" />
76
               <folding />
61
               <folding />
77
             </state>
62
             </state>
78
           </provider>
63
           </provider>
79
         </entry>
64
         </entry>
80
       </file>
65
       </file>
81
-      <file leaf-file-name="ArrayConverter.java" pinned="false" current-in-tab="false">
82
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java">
66
+      <file leaf-file-name="ListConverter.java" pinned="false" current-in-tab="false">
67
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java">
83
           <provider selected="true" editor-type-id="text-editor">
68
           <provider selected="true" editor-type-id="text-editor">
84
-            <state relative-caret-position="240">
85
-              <caret line="23" column="6" lean-forward="false" selection-start-line="23" selection-start-column="6" selection-end-line="23" selection-end-column="6" />
69
+            <state relative-caret-position="255">
70
+              <caret line="24" column="20" lean-forward="false" selection-start-line="24" selection-start-column="20" selection-end-line="24" selection-end-column="20" />
86
               <folding />
71
               <folding />
87
             </state>
72
             </state>
88
           </provider>
73
           </provider>
89
         </entry>
74
         </entry>
90
       </file>
75
       </file>
91
-      <file leaf-file-name="ConversionAgent.java" pinned="false" current-in-tab="false">
76
+      <file leaf-file-name="ConversionAgent.java" pinned="false" current-in-tab="true">
92
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java">
77
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java">
93
           <provider selected="true" editor-type-id="text-editor">
78
           <provider selected="true" editor-type-id="text-editor">
94
-            <state relative-caret-position="275">
95
-              <caret line="31" column="43" lean-forward="true" selection-start-line="31" selection-start-column="43" selection-end-line="31" selection-end-column="43" />
96
-              <folding />
79
+            <state relative-caret-position="141">
80
+              <caret line="12" column="34" lean-forward="false" selection-start-line="12" selection-start-column="34" selection-end-line="12" selection-end-column="34" />
81
+              <folding>
82
+                <element signature="imports" expanded="true" />
83
+                <element signature="e#740#741#0" expanded="true" />
84
+                <element signature="e#792#793#0" expanded="true" />
85
+              </folding>
97
             </state>
86
             </state>
98
           </provider>
87
           </provider>
99
         </entry>
88
         </entry>
100
       </file>
89
       </file>
101
-      <file leaf-file-name="ListConverter.java" pinned="false" current-in-tab="false">
102
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java">
90
+      <file leaf-file-name="PersonConversionAgent.java" pinned="false" current-in-tab="false">
91
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/PersonConversionAgent.java">
103
           <provider selected="true" editor-type-id="text-editor">
92
           <provider selected="true" editor-type-id="text-editor">
104
-            <state relative-caret-position="293">
105
-              <caret line="32" column="6" lean-forward="false" selection-start-line="32" selection-start-column="6" selection-end-line="32" selection-end-column="6" />
93
+            <state relative-caret-position="195">
94
+              <caret line="13" column="0" lean-forward="true" selection-start-line="13" selection-start-column="0" selection-end-line="13" selection-end-column="0" />
106
               <folding>
95
               <folding>
107
-                <element signature="e#717#718#0" expanded="true" />
108
-                <element signature="e#759#760#0" expanded="true" />
96
+                <element signature="e#438#439#0" expanded="true" />
97
+                <element signature="e#481#482#0" expanded="true" />
109
               </folding>
98
               </folding>
110
             </state>
99
             </state>
111
           </provider>
100
           </provider>
112
         </entry>
101
         </entry>
113
       </file>
102
       </file>
114
-      <file leaf-file-name="StreamConverter.java" pinned="false" current-in-tab="false">
115
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java">
103
+      <file leaf-file-name="Person.java" pinned="false" current-in-tab="false">
104
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java">
116
           <provider selected="true" editor-type-id="text-editor">
105
           <provider selected="true" editor-type-id="text-editor">
117
-            <state relative-caret-position="296">
118
-              <caret line="30" column="7" lean-forward="false" selection-start-line="30" selection-start-column="7" selection-end-line="30" selection-end-column="7" />
106
+            <state relative-caret-position="225">
107
+              <caret line="19" column="0" lean-forward="false" selection-start-line="19" selection-start-column="0" selection-end-line="19" selection-end-column="0" />
119
               <folding />
108
               <folding />
120
             </state>
109
             </state>
121
           </provider>
110
           </provider>
122
         </entry>
111
         </entry>
123
       </file>
112
       </file>
124
-      <file leaf-file-name="StringUtils.java" pinned="false" current-in-tab="false">
125
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java">
113
+      <file leaf-file-name="StreamConverter.java" pinned="false" current-in-tab="false">
114
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java">
126
           <provider selected="true" editor-type-id="text-editor">
115
           <provider selected="true" editor-type-id="text-editor">
127
-            <state relative-caret-position="567">
128
-              <caret line="51" column="7" lean-forward="true" selection-start-line="51" selection-start-column="7" selection-end-line="51" selection-end-column="7" />
116
+            <state relative-caret-position="165">
117
+              <caret line="16" column="64" lean-forward="true" selection-start-line="16" selection-start-column="64" selection-end-line="16" selection-end-column="64" />
129
               <folding />
118
               <folding />
130
             </state>
119
             </state>
131
           </provider>
120
           </provider>
132
         </entry>
121
         </entry>
133
       </file>
122
       </file>
134
-      <file leaf-file-name="LoggerWarehouse.java" pinned="false" current-in-tab="false">
135
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerWarehouse.java">
123
+      <file leaf-file-name="ReflectionUtils.java" pinned="false" current-in-tab="false">
124
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java">
136
           <provider selected="true" editor-type-id="text-editor">
125
           <provider selected="true" editor-type-id="text-editor">
137
             <state relative-caret-position="270">
126
             <state relative-caret-position="270">
138
-              <caret line="19" column="98" lean-forward="false" selection-start-line="19" selection-start-column="98" selection-end-line="19" selection-end-column="98" />
127
+              <caret line="23" column="61" lean-forward="true" selection-start-line="23" selection-start-column="61" selection-end-line="23" selection-end-column="61" />
139
               <folding />
128
               <folding />
140
             </state>
129
             </state>
141
           </provider>
130
           </provider>
161
       <find>public final</find>
150
       <find>public final</find>
162
       <find>.stream</find>
151
       <find>.stream</find>
163
       <find>.stream()</find>
152
       <find>.stream()</find>
153
+      <find>Person</find>
164
     </findStrings>
154
     </findStrings>
165
     <replaceStrings>
155
     <replaceStrings>
166
       <replace>public static</replace>
156
       <replace>public static</replace>
169
       <replace>whose name starts with `this.startingCharacter`</replace>
159
       <replace>whose name starts with `this.startingCharacter`</replace>
170
       <replace>private final</replace>
160
       <replace>private final</replace>
171
       <replace>.parallelStream()</replace>
161
       <replace>.parallelStream()</replace>
162
+      <replace>R</replace>
172
     </replaceStrings>
163
     </replaceStrings>
173
   </component>
164
   </component>
174
   <component name="Git.Settings">
165
   <component name="Git.Settings">
221
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/DateUtils.java" />
212
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/DateUtils.java" />
222
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestStreamFilter.java" />
213
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestStreamFilter.java" />
223
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java" />
214
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java" />
224
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/PersonConversionAgent.java" />
225
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java" />
226
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java" />
227
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java" />
228
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java" />
215
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java" />
229
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java" />
216
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java" />
230
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java" />
217
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPersonFactory.java" />
231
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java" />
218
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java" />
232
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java" />
219
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java" />
233
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" />
234
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java" />
220
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java" />
221
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java" />
222
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java" />
223
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java" />
224
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java" />
225
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/PersonConversionAgent.java" />
235
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java" />
226
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java" />
236
       </list>
227
       </list>
237
     </option>
228
     </option>
238
   </component>
229
   </component>
239
   <component name="ProjectFrameBounds">
230
   <component name="ProjectFrameBounds">
231
+    <option name="x" value="1440" />
240
     <option name="y" value="23" />
232
     <option name="y" value="23" />
241
-    <option name="width" value="1440" />
242
-    <option name="height" value="873" />
233
+    <option name="width" value="1920" />
234
+    <option name="height" value="1053" />
243
   </component>
235
   </component>
244
   <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
236
   <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
245
   <component name="ProjectView">
237
   <component name="ProjectView">
918
     </todo-panel>
910
     </todo-panel>
919
   </component>
911
   </component>
920
   <component name="ToolWindowManager">
912
   <component name="ToolWindowManager">
921
-    <frame x="0" y="23" width="1440" height="873" extended-state="6" />
913
+    <frame x="1440" y="23" width="1920" height="1053" extended-state="6" />
922
     <editor active="true" />
914
     <editor active="true" />
923
     <layout>
915
     <layout>
924
       <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
916
       <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
925
-      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3277849" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
917
+      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3277849" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
926
       <window_info id="Nl-Palette" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
918
       <window_info id="Nl-Palette" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
927
       <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32866243" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
919
       <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32866243" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
928
       <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
920
       <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
933
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
925
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
934
       <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3149808" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
926
       <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3149808" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
935
       <window_info id="Properties" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
927
       <window_info id="Properties" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
936
-      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.2637644" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
928
+      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.264308" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
937
       <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
929
       <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
938
       <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
930
       <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
939
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24105866" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
931
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17944622" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
940
       <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3298647" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
932
       <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3298647" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
941
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
933
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
942
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
934
       <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
1143
         </state>
1135
         </state>
1144
       </provider>
1136
       </provider>
1145
     </entry>
1137
     </entry>
1146
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/PersonConversionAgent.java">
1147
-      <provider selected="true" editor-type-id="text-editor">
1148
-        <state relative-caret-position="150">
1149
-          <caret line="10" column="5" lean-forward="true" selection-start-line="10" selection-start-column="5" selection-end-line="10" selection-end-column="5" />
1150
-          <folding />
1151
-        </state>
1152
-      </provider>
1153
-    </entry>
1154
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/DateUtils.java">
1138
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/DateUtils.java">
1155
       <provider selected="true" editor-type-id="text-editor">
1139
       <provider selected="true" editor-type-id="text-editor">
1156
         <state relative-caret-position="97">
1140
         <state relative-caret-position="97">
1159
         </state>
1143
         </state>
1160
       </provider>
1144
       </provider>
1161
     </entry>
1145
     </entry>
1162
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/RandomUtils.java">
1163
-      <provider selected="true" editor-type-id="text-editor">
1164
-        <state relative-caret-position="275">
1165
-          <caret line="60" column="9" lean-forward="true" selection-start-line="60" selection-start-column="9" selection-end-line="60" selection-end-column="9" />
1166
-          <folding />
1167
-        </state>
1168
-      </provider>
1169
-    </entry>
1170
     <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestSuiteFullRegression.java">
1146
     <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/TestSuiteFullRegression.java">
1171
       <provider selected="true" editor-type-id="text-editor">
1147
       <provider selected="true" editor-type-id="text-editor">
1172
         <state relative-caret-position="240">
1148
         <state relative-caret-position="240">
1210
         </state>
1186
         </state>
1211
       </provider>
1187
       </provider>
1212
     </entry>
1188
     </entry>
1213
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java">
1214
-      <provider selected="true" editor-type-id="text-editor">
1215
-        <state relative-caret-position="225">
1216
-          <caret line="19" column="0" lean-forward="false" selection-start-line="19" selection-start-column="0" selection-end-line="19" selection-end-column="0" />
1217
-          <folding />
1218
-        </state>
1219
-      </provider>
1220
-    </entry>
1221
     <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java">
1189
     <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodewilmington/streams/anthropoid/TestPerson.java">
1222
       <provider selected="true" editor-type-id="text-editor">
1190
       <provider selected="true" editor-type-id="text-editor">
1223
         <state relative-caret-position="265">
1191
         <state relative-caret-position="265">
1236
         </state>
1204
         </state>
1237
       </provider>
1205
       </provider>
1238
     </entry>
1206
     </entry>
1239
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java">
1207
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerHandler.java">
1240
       <provider selected="true" editor-type-id="text-editor">
1208
       <provider selected="true" editor-type-id="text-editor">
1241
-        <state relative-caret-position="225">
1242
-          <caret line="20" column="28" lean-forward="false" selection-start-line="20" selection-start-column="28" selection-end-line="20" selection-end-column="28" />
1209
+        <state relative-caret-position="255">
1210
+          <caret line="57" column="74" lean-forward="true" selection-start-line="57" selection-start-column="74" selection-end-line="57" selection-end-column="74" />
1243
           <folding />
1211
           <folding />
1244
         </state>
1212
         </state>
1245
       </provider>
1213
       </provider>
1246
     </entry>
1214
     </entry>
1247
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java">
1215
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerWarehouse.java">
1248
       <provider selected="true" editor-type-id="text-editor">
1216
       <provider selected="true" editor-type-id="text-editor">
1249
-        <state relative-caret-position="567">
1250
-          <caret line="51" column="7" lean-forward="true" selection-start-line="51" selection-start-column="7" selection-end-line="51" selection-end-column="7" />
1217
+        <state relative-caret-position="270">
1218
+          <caret line="19" column="98" lean-forward="false" selection-start-line="19" selection-start-column="98" selection-end-line="19" selection-end-column="98" />
1251
           <folding />
1219
           <folding />
1252
         </state>
1220
         </state>
1253
       </provider>
1221
       </provider>
1254
     </entry>
1222
     </entry>
1255
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java">
1223
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java">
1256
       <provider selected="true" editor-type-id="text-editor">
1224
       <provider selected="true" editor-type-id="text-editor">
1257
-        <state relative-caret-position="-18">
1258
-          <caret line="31" column="46" lean-forward="true" selection-start-line="31" selection-start-column="46" selection-end-line="31" selection-end-column="46" />
1225
+        <state relative-caret-position="237">
1226
+          <caret line="69" column="84" lean-forward="false" selection-start-line="69" selection-start-column="84" selection-end-line="69" selection-end-column="84" />
1259
           <folding />
1227
           <folding />
1260
         </state>
1228
         </state>
1261
       </provider>
1229
       </provider>
1262
     </entry>
1230
     </entry>
1263
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java">
1231
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/RandomUtils.java">
1264
       <provider selected="true" editor-type-id="text-editor">
1232
       <provider selected="true" editor-type-id="text-editor">
1265
-        <state relative-caret-position="54">
1266
-          <caret line="36" column="18" lean-forward="true" selection-start-line="36" selection-start-column="18" selection-end-line="36" selection-end-column="18" />
1233
+        <state relative-caret-position="765">
1234
+          <caret line="60" column="9" lean-forward="true" selection-start-line="60" selection-start-column="9" selection-end-line="60" selection-end-column="9" />
1267
           <folding />
1235
           <folding />
1268
         </state>
1236
         </state>
1269
       </provider>
1237
       </provider>
1270
     </entry>
1238
     </entry>
1271
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java">
1239
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/ReflectionUtils.java">
1272
       <provider selected="true" editor-type-id="text-editor">
1240
       <provider selected="true" editor-type-id="text-editor">
1273
-        <state relative-caret-position="296">
1274
-          <caret line="30" column="7" lean-forward="false" selection-start-line="30" selection-start-column="7" selection-end-line="30" selection-end-column="7" />
1241
+        <state relative-caret-position="270">
1242
+          <caret line="23" column="61" lean-forward="true" selection-start-line="23" selection-start-column="61" selection-end-line="23" selection-end-column="61" />
1275
           <folding />
1243
           <folding />
1276
         </state>
1244
         </state>
1277
       </provider>
1245
       </provider>
1278
     </entry>
1246
     </entry>
1279
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java">
1247
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/StringUtils.java">
1280
       <provider selected="true" editor-type-id="text-editor">
1248
       <provider selected="true" editor-type-id="text-editor">
1281
-        <state relative-caret-position="240">
1282
-          <caret line="23" column="6" lean-forward="false" selection-start-line="23" selection-start-column="6" selection-end-line="23" selection-end-column="6" />
1249
+        <state relative-caret-position="272">
1250
+          <caret line="28" column="0" lean-forward="true" selection-start-line="28" selection-start-column="0" selection-end-line="28" selection-end-column="0" />
1283
           <folding />
1251
           <folding />
1284
         </state>
1252
         </state>
1285
       </provider>
1253
       </provider>
1286
     </entry>
1254
     </entry>
1287
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java">
1255
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/Person.java">
1288
       <provider selected="true" editor-type-id="text-editor">
1256
       <provider selected="true" editor-type-id="text-editor">
1289
-        <state relative-caret-position="293">
1290
-          <caret line="32" column="6" lean-forward="false" selection-start-line="32" selection-start-column="6" selection-end-line="32" selection-end-column="6" />
1291
-          <folding>
1292
-            <element signature="e#717#718#0" expanded="true" />
1293
-            <element signature="e#759#760#0" expanded="true" />
1294
-          </folding>
1257
+        <state relative-caret-position="225">
1258
+          <caret line="19" column="0" lean-forward="false" selection-start-line="19" selection-start-column="0" selection-end-line="19" selection-end-column="0" />
1259
+          <folding />
1295
         </state>
1260
         </state>
1296
       </provider>
1261
       </provider>
1297
     </entry>
1262
     </entry>
1298
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java">
1263
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonFactory.java">
1299
       <provider selected="true" editor-type-id="text-editor">
1264
       <provider selected="true" editor-type-id="text-editor">
1300
-        <state relative-caret-position="275">
1301
-          <caret line="31" column="43" lean-forward="true" selection-start-line="31" selection-start-column="43" selection-end-line="31" selection-end-column="43" />
1265
+        <state relative-caret-position="56">
1266
+          <caret line="12" column="1" lean-forward="false" selection-start-line="12" selection-start-column="1" selection-end-line="12" selection-end-column="109" />
1302
           <folding />
1267
           <folding />
1303
         </state>
1268
         </state>
1304
       </provider>
1269
       </provider>
1305
     </entry>
1270
     </entry>
1306
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerHandler.java">
1271
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java">
1307
       <provider selected="true" editor-type-id="text-editor">
1272
       <provider selected="true" editor-type-id="text-editor">
1308
-        <state relative-caret-position="255">
1309
-          <caret line="57" column="74" lean-forward="true" selection-start-line="57" selection-start-column="74" selection-end-line="57" selection-end-column="74" />
1273
+        <state relative-caret-position="-343">
1274
+          <caret line="14" column="109" lean-forward="false" selection-start-line="14" selection-start-column="109" selection-end-line="14" selection-end-column="109" />
1310
           <folding />
1275
           <folding />
1311
         </state>
1276
         </state>
1312
       </provider>
1277
       </provider>
1313
     </entry>
1278
     </entry>
1314
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/tools/logging/LoggerWarehouse.java">
1279
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java">
1315
       <provider selected="true" editor-type-id="text-editor">
1280
       <provider selected="true" editor-type-id="text-editor">
1316
-        <state relative-caret-position="270">
1317
-          <caret line="19" column="98" lean-forward="false" selection-start-line="19" selection-start-column="98" selection-end-line="19" selection-end-column="98" />
1281
+        <state relative-caret-position="345">
1282
+          <caret line="35" column="20" lean-forward="false" selection-start-line="35" selection-start-column="20" selection-end-line="35" selection-end-column="20" />
1318
           <folding />
1283
           <folding />
1319
         </state>
1284
         </state>
1320
       </provider>
1285
       </provider>
1321
     </entry>
1286
     </entry>
1322
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/StreamFilter.java">
1287
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java">
1323
       <provider selected="true" editor-type-id="text-editor">
1288
       <provider selected="true" editor-type-id="text-editor">
1324
-        <state relative-caret-position="-514">
1325
-          <caret line="36" column="10" lean-forward="false" selection-start-line="36" selection-start-column="10" selection-end-line="36" selection-end-column="10" />
1289
+        <state relative-caret-position="255">
1290
+          <caret line="24" column="20" lean-forward="false" selection-start-line="24" selection-start-column="20" selection-end-line="24" selection-end-column="20" />
1326
           <folding />
1291
           <folding />
1327
         </state>
1292
         </state>
1328
       </provider>
1293
       </provider>
1329
     </entry>
1294
     </entry>
1295
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/PersonConversionAgent.java">
1296
+      <provider selected="true" editor-type-id="text-editor">
1297
+        <state relative-caret-position="195">
1298
+          <caret line="13" column="0" lean-forward="true" selection-start-line="13" selection-start-column="0" selection-end-line="13" selection-end-column="0" />
1299
+          <folding>
1300
+            <element signature="e#438#439#0" expanded="true" />
1301
+            <element signature="e#481#482#0" expanded="true" />
1302
+          </folding>
1303
+        </state>
1304
+      </provider>
1305
+    </entry>
1306
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java">
1307
+      <provider selected="true" editor-type-id="text-editor">
1308
+        <state relative-caret-position="165">
1309
+          <caret line="16" column="64" lean-forward="true" selection-start-line="16" selection-start-column="64" selection-end-line="16" selection-end-column="64" />
1310
+          <folding />
1311
+        </state>
1312
+      </provider>
1313
+    </entry>
1314
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java">
1315
+      <provider selected="true" editor-type-id="text-editor">
1316
+        <state relative-caret-position="141">
1317
+          <caret line="12" column="34" lean-forward="false" selection-start-line="12" selection-start-column="34" selection-end-line="12" selection-end-column="34" />
1318
+          <folding>
1319
+            <element signature="imports" expanded="true" />
1320
+            <element signature="e#740#741#0" expanded="true" />
1321
+            <element signature="e#792#793#0" expanded="true" />
1322
+          </folding>
1323
+        </state>
1324
+      </provider>
1325
+    </entry>
1330
   </component>
1326
   </component>
1331
   <component name="masterDetails">
1327
   <component name="masterDetails">
1332
     <states>
1328
     <states>

+ 1
- 0
src/main/java/com/zipcodewilmington/streams/anthropoid/PersonWarehouse.java 查看文件

12
 /**
12
 /**
13
  * Created by leon on 5/29/17.
13
  * Created by leon on 5/29/17.
14
  * The warehouse is responsible for storing, retrieving, and filtering personSequence
14
  * The warehouse is responsible for storing, retrieving, and filtering personSequence
15
+ * @ATTENTION_TO_STUDENTS You are FORBIDDEN from using loops of any sort within the definition of this class.
15
  */
16
  */
16
 public class PersonWarehouse {
17
 public class PersonWarehouse {
17
     private static final LoggerHandler loggerHandler = LoggerWarehouse.getLogger(PersonWarehouse.class);
18
     private static final LoggerHandler loggerHandler = LoggerWarehouse.getLogger(PersonWarehouse.class);

+ 2
- 2
src/main/java/com/zipcodewilmington/streams/conversions/ArrayConverter.java 查看文件

10
 /**
10
 /**
11
  * Created by leon on 5/25/17.
11
  * Created by leon on 5/25/17.
12
  */
12
  */
13
-public final class ArrayConverter extends ConversionAgent<Person[]> {
13
+public final class ArrayConverter extends PersonConversionAgent<Person[]> {
14
     public ArrayConverter(Person... people) {
14
     public ArrayConverter(Person... people) {
15
         super(people);
15
         super(people);
16
     }
16
     }
33
 
33
 
34
     @Override
34
     @Override
35
     public Person[] toArray() {
35
     public Person[] toArray() {
36
-        return this.personSequence;
36
+        return super.objectSequence;
37
     }
37
     }
38
 }
38
 }

+ 16
- 11
src/main/java/com/zipcodewilmington/streams/conversions/ConversionAgent.java 查看文件

1
 package com.zipcodewilmington.streams.conversions;
1
 package com.zipcodewilmington.streams.conversions;
2
 
2
 
3
-import com.zipcodewilmington.streams.anthropoid.Person;
4
-
5
 import java.util.List;
3
 import java.util.List;
6
 import java.util.function.Function;
4
 import java.util.function.Function;
7
 import java.util.function.Predicate;
5
 import java.util.function.Predicate;
12
  * ConversionAgent is responsible for conversion between different object sequent data types
10
  * ConversionAgent is responsible for conversion between different object sequent data types
13
  * Object sequent data types include: collections, arrays, lists, maps, iterators
11
  * Object sequent data types include: collections, arrays, lists, maps, iterators
14
  *
12
  *
13
+ * @param <ObjectSequentDataType> some Object sequent data type
14
+ * @param <TypeOfObjectSequence> Type of Object in the object sequence
15
  * @ATTENTION_TO_STUDENTS You are FORBIDDEN from modifying this class
15
  * @ATTENTION_TO_STUDENTS You are FORBIDDEN from modifying this class
16
  */
16
  */
17
-public abstract class ConversionAgent<T, R> {
18
-    protected T personSequence;
19
 
17
 
20
-    public ConversionAgent(T objectSequence) {
21
-        this.personSequence = objectSequence;
18
+public abstract class ConversionAgent<ObjectSequentDataType, TypeOfObjectSequence> {
19
+    protected ObjectSequentDataType objectSequence;
20
+
21
+    public ConversionAgent(ObjectSequentDataType objectSequence) {
22
+        this.objectSequence = objectSequence;
22
     }
23
     }
23
 
24
 
24
     /**
25
     /**
25
      * @return list representation of this object sequence
26
      * @return list representation of this object sequence
26
      */
27
      */
27
-    abstract public List<Person> toList();
28
+    abstract public List<TypeOfObjectSequence> toList();
28
 
29
 
29
     /**
30
     /**
30
      * @return stream representation of this object sequence
31
      * @return stream representation of this object sequence
31
      */
32
      */
32
-    abstract public Stream<Person> toStream();
33
+    abstract public Stream<TypeOfObjectSequence> toStream();
33
 
34
 
34
     /**
35
     /**
35
      * @return array representation of this object sequence
36
      * @return array representation of this object sequence
36
      */
37
      */
37
-    abstract public Person[] toArray();
38
+    abstract public TypeOfObjectSequence[] toArray();
38
 
39
 
39
     /**
40
     /**
40
      * @param predicate Represents a predicate (boolean-valued function) of one argument
41
      * @param predicate Represents a predicate (boolean-valued function) of one argument
41
      * @return stream representation of respectively filtered
42
      * @return stream representation of respectively filtered
42
      */
43
      */
43
-    public Stream<Person> filter(Predicate<? super Person> predicate) {
44
+    public Stream<TypeOfObjectSequence> filter(Predicate<? super TypeOfObjectSequence> predicate) {
44
         return toStream().filter(predicate);
45
         return toStream().filter(predicate);
45
     }
46
     }
46
 
47
 
47
-    public Stream<Person> flatMap(Function<? super Person, ? extends Stream<Person>> predicate) {
48
+    /**
49
+     * @param predicate Represents a predicate (boolean-valued function) of one argument
50
+     * @return stream representation of respectively filtered
51
+     */
52
+    public Stream<TypeOfObjectSequence> flatMap(Function<? super TypeOfObjectSequence, ? extends Stream<TypeOfObjectSequence>> predicate) {
48
         return toStream().flatMap(predicate);
53
         return toStream().flatMap(predicate);
49
     }
54
     }
50
 }
55
 }

+ 2
- 2
src/main/java/com/zipcodewilmington/streams/conversions/ListConverter.java 查看文件

9
 /**
9
 /**
10
  * Created by leon on 5/25/17.
10
  * Created by leon on 5/25/17.
11
  */
11
  */
12
-public final class ListConverter extends ConversionAgent<List<Person>> {
12
+public final class ListConverter extends PersonConversionAgent<List<Person>> {
13
     public ListConverter(List<Person> people) {
13
     public ListConverter(List<Person> people) {
14
         super(people);
14
         super(people);
15
     }
15
     }
22
 
22
 
23
     @Override
23
     @Override
24
     public List<Person> toList() {
24
     public List<Person> toList() {
25
-        return this.personSequence;
25
+        return super.objectSequence;
26
     }
26
     }
27
 
27
 
28
     //TODO
28
     //TODO

+ 14
- 0
src/main/java/com/zipcodewilmington/streams/conversions/PersonConversionAgent.java 查看文件

1
+package com.zipcodewilmington.streams.conversions;
2
+
3
+import com.zipcodewilmington.streams.anthropoid.Person;
4
+
5
+/**
6
+ * Created by leon on 5/31/17.
7
+ * The purpose of this class is to convert between different types of Person Collections
8
+ * @param <ObjectSequentDataType> some sequence of Person objects
9
+ */
10
+abstract public class PersonConversionAgent<ObjectSequentDataType> extends ConversionAgent<ObjectSequentDataType, Person> {
11
+    public PersonConversionAgent(ObjectSequentDataType personObjectSequence) {
12
+        super(personObjectSequence);
13
+    }
14
+}

+ 2
- 2
src/main/java/com/zipcodewilmington/streams/conversions/StreamConverter.java 查看文件

10
 /**
10
 /**
11
  * Created by leon on 5/25/17.
11
  * Created by leon on 5/25/17.
12
  */
12
  */
13
-public final class StreamConverter extends ConversionAgent<Stream<Person>> {
13
+public final class StreamConverter extends PersonConversionAgent<Stream<Person>> {
14
     private final List<Person> personList;
14
     private final List<Person> personList;
15
     public StreamConverter(Stream<Person> people) {
15
     public StreamConverter(Stream<Person> people) {
16
         super(people);
16
         super(people);
17
-        this.personList = super.personSequence.collect(Collectors.toList());
17
+        this.personList = super.objectSequence.collect(Collectors.toList());
18
     }
18
     }
19
 
19
 
20
     public StreamConverter(int collectionSize) {
20
     public StreamConverter(int collectionSize) {