picrate 0.5.0-java → 0.6.0-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/.mvn/wrapper/maven-wrapper.properties +1 -1
  3. data/CHANGELOG.md +3 -1
  4. data/README.md +1 -1
  5. data/Rakefile +8 -6
  6. data/docs/_editors/geany.md +5 -4
  7. data/docs/_editors/vim.md +6 -0
  8. data/docs/_includes/head.html +1 -0
  9. data/docs/_libraries/control_panel.md +2 -2
  10. data/docs/_libraries/gl_video.md +21 -0
  11. data/docs/_posts/2018-05-06-getting_started.md +10 -9
  12. data/docs/_posts/2018-05-06-install_jruby.md +19 -2
  13. data/docs/_posts/2018-06-26-auto_install_picrate.md +19 -4
  14. data/docs/_posts/2018-11-18-building-gem.md +18 -0
  15. data/docs/_posts/2018-11-27-getting_started_geany.md +38 -0
  16. data/docs/about.md +21 -10
  17. data/docs/assets/android-chrome-192x192.png +0 -0
  18. data/docs/assets/android-chrome-512x512.png +0 -0
  19. data/docs/assets/favicon.ico +0 -0
  20. data/docs/assets/geany.png +0 -0
  21. data/docs/assets/jwishy_picrate.png +0 -0
  22. data/docs/assets/picrate.svg +251 -0
  23. data/docs/index.html +8 -14
  24. data/lib/picrate/runner.rb +6 -2
  25. data/lib/picrate/version.rb +1 -1
  26. data/library/boids/boids.rb +10 -13
  27. data/mvnw +234 -0
  28. data/picrate.gemspec +2 -1
  29. data/pom.rb +1 -1
  30. data/pom.xml +1 -1
  31. data/src/main/java/japplemenubar/JAppleMenuBar.java +10 -2
  32. data/src/main/java/monkstone/ColorUtil.java +11 -1
  33. data/src/main/java/monkstone/MathToolModule.java +1 -0
  34. data/src/main/java/monkstone/PicrateLibrary.java +1 -0
  35. data/src/main/java/monkstone/fastmath/Deglut.java +1 -0
  36. data/src/main/java/monkstone/noise/SimplexNoise.java +3 -3
  37. data/src/main/java/monkstone/slider/CustomHorizontalSlider.java +1 -1
  38. data/src/main/java/monkstone/slider/CustomVerticalSlider.java +1 -1
  39. data/src/main/java/monkstone/slider/SimpleHorizontalSlider.java +1 -1
  40. data/src/main/java/monkstone/slider/SimpleSlider.java +8 -8
  41. data/src/main/java/monkstone/slider/SimpleVerticalSlider.java +1 -1
  42. data/src/main/java/monkstone/slider/Slider.java +3 -3
  43. data/src/main/java/monkstone/slider/SliderBar.java +1 -1
  44. data/src/main/java/monkstone/slider/SliderGroup.java +1 -1
  45. data/src/main/java/monkstone/vecmath/AppRender.java +1 -0
  46. data/src/main/java/monkstone/vecmath/JRender.java +1 -0
  47. data/src/main/java/monkstone/vecmath/ShapeRender.java +1 -0
  48. data/src/main/java/monkstone/vecmath/vec2/Vec2.java +8 -0
  49. data/src/main/java/monkstone/vecmath/vec3/Vec3.java +1 -0
  50. data/src/main/java/processing/awt/PGraphicsJava2D.java +85 -16
  51. data/src/main/java/processing/awt/PSurfaceAWT.java +1 -1
  52. data/src/main/java/processing/core/PApplet.java +18 -12
  53. data/src/main/java/processing/core/PShape.java +1182 -305
  54. data/src/main/java/processing/core/PStyle.java +1 -1
  55. data/src/main/java/processing/core/PSurface.java +1 -1
  56. data/src/main/java/processing/data/FloatDict.java +196 -54
  57. data/src/main/java/processing/data/FloatList.java +167 -54
  58. data/src/main/java/processing/data/IntDict.java +211 -56
  59. data/src/main/java/processing/data/IntList.java +185 -52
  60. data/src/main/java/processing/data/JSONArray.java +69 -20
  61. data/src/main/java/processing/data/JSONObject.java +53 -12
  62. data/src/main/java/processing/data/Sort.java +40 -10
  63. data/src/main/java/processing/data/StringDict.java +159 -49
  64. data/src/main/java/processing/data/StringList.java +147 -42
  65. data/src/main/java/processing/data/Table.java +778 -223
  66. data/src/main/java/processing/data/TableRow.java +26 -2
  67. data/src/main/java/processing/data/XML.java +190 -50
  68. data/src/main/java/processing/event/Event.java +93 -0
  69. data/src/main/java/processing/event/KeyEvent.java +55 -13
  70. data/src/main/java/processing/event/MouseEvent.java +77 -1
  71. data/src/main/java/processing/event/TouchEvent.java +14 -1
  72. data/src/main/java/processing/javafx/PGraphicsFX2D.java +8 -0
  73. data/src/main/java/processing/opengl/FrameBuffer.java +228 -66
  74. data/src/main/java/processing/opengl/LinePath.java +131 -27
  75. data/src/main/java/processing/opengl/LineStroker.java +30 -5
  76. data/src/main/java/processing/opengl/PGL.java +4066 -865
  77. data/src/main/java/processing/opengl/PGraphics2D.java +38 -10
  78. data/src/main/java/processing/opengl/PGraphics3D.java +38 -6
  79. data/src/main/java/processing/opengl/PGraphicsOpenGL.java +1980 -474
  80. data/src/main/java/processing/opengl/PJOGL.java +1460 -248
  81. data/src/main/java/processing/opengl/PShader.java +904 -217
  82. data/src/main/java/processing/opengl/PShapeOpenGL.java +1811 -487
  83. data/src/main/java/processing/opengl/PSurfaceJOGL.java +278 -71
  84. data/src/main/java/processing/opengl/Texture.java +610 -135
  85. data/src/main/java/processing/opengl/VertexBuffer.java +45 -9
  86. data/src/main/resources/icon/icon-1024.png +0 -0
  87. data/src/main/resources/icon/icon-128.png +0 -0
  88. data/src/main/resources/icon/icon-16.png +0 -0
  89. data/src/main/resources/icon/icon-256.png +0 -0
  90. data/src/main/resources/icon/icon-32.png +0 -0
  91. data/src/main/resources/icon/icon-48.png +0 -0
  92. data/src/main/resources/icon/icon-512.png +0 -0
  93. data/src/main/resources/icon/icon-64.png +0 -0
  94. data/vendors/Rakefile +1 -1
  95. metadata +13 -6
  96. data/docs/assets/circle_collisions.png +0 -0
  97. data/docs/favicon.ico +0 -0
@@ -22,12 +22,15 @@ public class StringList implements Iterable<String> {
22
22
  int count;
23
23
  String[] data;
24
24
 
25
-
26
- public StringList() {
25
+ /**
26
+ *
27
+ */
28
+ public StringList() {
27
29
  this(10);
28
30
  }
29
31
 
30
32
  /**
33
+ * @param length
31
34
  * @nowebref
32
35
  */
33
36
  public StringList(int length) {
@@ -35,6 +38,7 @@ public class StringList implements Iterable<String> {
35
38
  }
36
39
 
37
40
  /**
41
+ * @param list
38
42
  * @nowebref
39
43
  */
40
44
  public StringList(String[] list) {
@@ -45,8 +49,9 @@ public class StringList implements Iterable<String> {
45
49
 
46
50
 
47
51
  /**
48
- * Construct a StringList from a random pile of objects. Null values will
49
- * stay null, but all the others will be converted to String values.
52
+ * Construct a StringList from a random pile of objects.Null values will
53
+ stay null, but all the others will be converted to String values.
54
+ * @param items
50
55
  */
51
56
  public StringList(Object... items) {
52
57
  count = items.length;
@@ -69,6 +74,7 @@ public class StringList implements Iterable<String> {
69
74
  * Create from something iterable, for instance:
70
75
  * StringList list = new StringList(hashMap.keySet());
71
76
  *
77
+ * @param iter
72
78
  * @nowebref
73
79
  */
74
80
  public StringList(Iterable<String> iter) {
@@ -95,6 +101,7 @@ public class StringList implements Iterable<String> {
95
101
  /**
96
102
  * Get the length of the list.
97
103
  *
104
+ * @return
98
105
  * @webref stringlist:method
99
106
  * @brief Get the length of the list
100
107
  */
@@ -102,8 +109,11 @@ public class StringList implements Iterable<String> {
102
109
  return count;
103
110
  }
104
111
 
105
-
106
- public void resize(int length) {
112
+ /**
113
+ *
114
+ * @param length
115
+ */
116
+ public void resize(int length) {
107
117
  if (length > data.length) {
108
118
  String[] temp = new String[length];
109
119
  System.arraycopy(data, 0, temp, 0, count);
@@ -130,6 +140,8 @@ public class StringList implements Iterable<String> {
130
140
  /**
131
141
  * Get an entry at a particular index.
132
142
  *
143
+ * @param index
144
+ * @return
133
145
  * @webref stringlist:method
134
146
  * @brief Get an entry at a particular index
135
147
  */
@@ -142,10 +154,12 @@ public class StringList implements Iterable<String> {
142
154
 
143
155
 
144
156
  /**
145
- * Set the entry at a particular index. If the index is past the length of
146
- * the list, it'll expand the list to accommodate, and fill the intermediate
147
- * entries with 0s.
157
+ * Set the entry at a particular index.If the index is past the length of
158
+ the list, it'll expand the list to accommodate, and fill the intermediate
159
+ entries with 0s.
148
160
  *
161
+ * @param index
162
+ * @param what
149
163
  * @webref stringlist:method
150
164
  * @brief Set an entry at a particular index
151
165
  */
@@ -161,13 +175,17 @@ public class StringList implements Iterable<String> {
161
175
  }
162
176
 
163
177
 
164
- /** Just an alias for append(), but matches pop() */
178
+ /** Just an alias for append(), but matches pop()
179
+ * @param value */
165
180
  public void push(String value) {
166
181
  append(value);
167
182
  }
168
183
 
169
-
170
- public String pop() {
184
+ /**
185
+ *
186
+ * @return
187
+ */
188
+ public String pop() {
171
189
  if (count == 0) {
172
190
  throw new RuntimeException("Can't call pop() on an empty list");
173
191
  }
@@ -180,6 +198,8 @@ public class StringList implements Iterable<String> {
180
198
  /**
181
199
  * Remove an element from the specified index.
182
200
  *
201
+ * @param index
202
+ * @return
183
203
  * @webref stringlist:method
184
204
  * @brief Remove an element from the specified index
185
205
  */
@@ -202,6 +222,12 @@ public class StringList implements Iterable<String> {
202
222
 
203
223
 
204
224
  // Remove the first instance of a particular value and return its index.
225
+
226
+ /**
227
+ *
228
+ * @param value
229
+ * @return
230
+ */
205
231
  public int removeValue(String value) {
206
232
  if (value == null) {
207
233
  for (int i = 0; i < count; i++) {
@@ -222,6 +248,12 @@ public class StringList implements Iterable<String> {
222
248
 
223
249
 
224
250
  // Remove all instances of a particular value and return the count removed.
251
+
252
+ /**
253
+ *
254
+ * @param value
255
+ * @return
256
+ */
225
257
  public int removeValues(String value) {
226
258
  int ii = 0;
227
259
  if (value == null) {
@@ -244,6 +276,13 @@ public class StringList implements Iterable<String> {
244
276
 
245
277
 
246
278
  // replace the first value that matches, return the index that was replaced
279
+
280
+ /**
281
+ *
282
+ * @param value
283
+ * @param newValue
284
+ * @return
285
+ */
247
286
  public int replaceValue(String value, String newValue) {
248
287
  if (value == null) {
249
288
  for (int i = 0; i < count; i++) {
@@ -265,6 +304,13 @@ public class StringList implements Iterable<String> {
265
304
 
266
305
 
267
306
  // replace all values that match, return the count of those replaced
307
+
308
+ /**
309
+ *
310
+ * @param value
311
+ * @param newValue
312
+ * @return
313
+ */
268
314
  public int replaceValues(String value, String newValue) {
269
315
  int changed = 0;
270
316
  if (value == null) {
@@ -289,6 +335,7 @@ public class StringList implements Iterable<String> {
289
335
  /**
290
336
  * Add a new entry to the list.
291
337
  *
338
+ * @param value
292
339
  * @webref stringlist:method
293
340
  * @brief Add a new entry to the list
294
341
  */
@@ -299,22 +346,29 @@ public class StringList implements Iterable<String> {
299
346
  data[count++] = value;
300
347
  }
301
348
 
302
-
303
- public void append(String[] values) {
349
+ /**
350
+ *
351
+ * @param values
352
+ */
353
+ public void append(String[] values) {
304
354
  for (String v : values) {
305
355
  append(v);
306
356
  }
307
357
  }
308
358
 
309
-
310
- public void append(StringList list) {
359
+ /**
360
+ *
361
+ * @param list
362
+ */
363
+ public void append(StringList list) {
311
364
  for (String v : list.values()) { // will concat the list...
312
365
  append(v);
313
366
  }
314
367
  }
315
368
 
316
369
 
317
- /** Add this value, but only if it's not already in the list. */
370
+ /** Add this value, but only if it's not already in the list.
371
+ * @param value */
318
372
  public void appendUnique(String value) {
319
373
  if (!hasValue(value)) {
320
374
  append(value);
@@ -351,6 +405,12 @@ public class StringList implements Iterable<String> {
351
405
  // }
352
406
  // }
353
407
 
408
+ /**
409
+ *
410
+ * @param index
411
+ * @param value
412
+ */
413
+
354
414
 
355
415
  public void insert(int index, String value) {
356
416
  insert(index, new String[] { value });
@@ -358,6 +418,12 @@ public class StringList implements Iterable<String> {
358
418
 
359
419
 
360
420
  // same as splice
421
+
422
+ /**
423
+ *
424
+ * @param index
425
+ * @param values
426
+ */
361
427
  public void insert(int index, String[] values) {
362
428
  if (index < 0) {
363
429
  throw new IllegalArgumentException("insert() index cannot be negative: it was " + index);
@@ -385,8 +451,12 @@ public class StringList implements Iterable<String> {
385
451
  data = temp;
386
452
  }
387
453
 
388
-
389
- public void insert(int index, StringList list) {
454
+ /**
455
+ *
456
+ * @param index
457
+ * @param list
458
+ */
459
+ public void insert(int index, StringList list) {
390
460
  insert(index, list.values());
391
461
  }
392
462
 
@@ -434,7 +504,9 @@ public class StringList implements Iterable<String> {
434
504
  // }
435
505
 
436
506
 
437
- /** Return the first index of a particular value. */
507
+ /** Return the first index of a particular value.
508
+ * @param what
509
+ * @return */
438
510
  public int index(String what) {
439
511
  if (what == null) {
440
512
  for (int i = 0; i < count; i++) {
@@ -463,6 +535,8 @@ public class StringList implements Iterable<String> {
463
535
  // }
464
536
 
465
537
  /**
538
+ * @param value
539
+ * @return
466
540
  * @webref stringlist:method
467
541
  * @brief Check if a value is a part of the list
468
542
  */
@@ -584,6 +658,7 @@ public class StringList implements Iterable<String> {
584
658
  /**
585
659
  * Randomize the list order using the random() function from the specified
586
660
  * sketch, allowing shuffle() to use its current randomSeed() setting.
661
+ * @param sketch
587
662
  */
588
663
  public void shuffle(PApplet sketch) {
589
664
  int num = count;
@@ -626,8 +701,11 @@ public class StringList implements Iterable<String> {
626
701
  }
627
702
  }
628
703
 
629
-
630
- public StringList copy() {
704
+ /**
705
+ *
706
+ * @return
707
+ */
708
+ public StringList copy() {
631
709
  StringList outgoing = new StringList(data);
632
710
  outgoing.count = count;
633
711
  return outgoing;
@@ -635,17 +713,21 @@ public class StringList implements Iterable<String> {
635
713
 
636
714
 
637
715
  /**
638
- * Returns the actual array being used to store the data. Suitable for
639
- * iterating with a for() loop, but modifying the list could cause terrible
640
- * things to happen.
716
+ * Returns the actual array being used to store the data.Suitable for
717
+ iterating with a for() loop, but modifying the list could cause terrible
718
+ things to happen.
719
+ * @return
641
720
  */
642
721
  public String[] values() {
643
722
  crop();
644
723
  return data;
645
724
  }
646
725
 
647
-
648
- @Override
726
+ /**
727
+ *
728
+ * @return
729
+ */
730
+ @Override
649
731
  public Iterator<String> iterator() {
650
732
  // return valueIterator();
651
733
  // }
@@ -684,9 +766,10 @@ public class StringList implements Iterable<String> {
684
766
 
685
767
 
686
768
  /**
687
- * Copy values into the specified array. If the specified array is null or
688
- * not the same size, a new array will be allocated.
769
+ * Copy values into the specified array.If the specified array is null or
770
+ not the same size, a new array will be allocated.
689
771
  * @param array
772
+ * @return
690
773
  */
691
774
  public String[] array(String[] array) {
692
775
  if (array == null || array.length != count) {
@@ -696,26 +779,37 @@ public class StringList implements Iterable<String> {
696
779
  return array;
697
780
  }
698
781
 
699
-
700
- public StringList getSubset(int start) {
782
+ /**
783
+ *
784
+ * @param start
785
+ * @return
786
+ */
787
+ public StringList getSubset(int start) {
701
788
  return getSubset(start, count - start);
702
789
  }
703
790
 
704
-
705
- public StringList getSubset(int start, int num) {
791
+ /**
792
+ *
793
+ * @param start
794
+ * @param num
795
+ * @return
796
+ */
797
+ public StringList getSubset(int start, int num) {
706
798
  String[] subset = new String[num];
707
799
  System.arraycopy(data, start, subset, 0, num);
708
800
  return new StringList(subset);
709
801
  }
710
802
 
711
803
 
712
- /** Get a list of all unique entries. */
804
+ /** Get a list of all unique entries.
805
+ * @return */
713
806
  public String[] getUnique() {
714
807
  return getTally().keyArray();
715
808
  }
716
809
 
717
810
 
718
- /** Count the number of times each String entry is found in this list. */
811
+ /** Count the number of times each String entry is found in this list.
812
+ * @return */
719
813
  public IntDict getTally() {
720
814
  IntDict outgoing = new IntDict();
721
815
  for (int i = 0; i < count; i++) {
@@ -725,7 +819,8 @@ public class StringList implements Iterable<String> {
725
819
  }
726
820
 
727
821
 
728
- /** Create a dictionary associating each entry in this list to its index. */
822
+ /** Create a dictionary associating each entry in this list to its index.
823
+ * @return */
729
824
  public IntDict getOrder() {
730
825
  IntDict outgoing = new IntDict();
731
826
  for (int i = 0; i < count; i++) {
@@ -734,8 +829,12 @@ public class StringList implements Iterable<String> {
734
829
  return outgoing;
735
830
  }
736
831
 
737
-
738
- public String join(String separator) {
832
+ /**
833
+ *
834
+ * @param separator
835
+ * @return
836
+ */
837
+ public String join(String separator) {
739
838
  if (count == 0) {
740
839
  return "";
741
840
  }
@@ -748,8 +847,10 @@ public class StringList implements Iterable<String> {
748
847
  return sb.toString();
749
848
  }
750
849
 
751
-
752
- public void print() {
850
+ /**
851
+ *
852
+ */
853
+ public void print() {
753
854
  for (int i = 0; i < count; i++) {
754
855
  System.out.format("[%d] %s%n", i, data[i]);
755
856
  }
@@ -758,6 +859,7 @@ public class StringList implements Iterable<String> {
758
859
 
759
860
  /**
760
861
  * Return this dictionary as a String in JSON format.
862
+ * @return
761
863
  */
762
864
  public String toJSON() {
763
865
  StringList temp = new StringList();
@@ -767,8 +869,11 @@ public class StringList implements Iterable<String> {
767
869
  return "[ " + temp.join(", ") + " ]";
768
870
  }
769
871
 
770
-
771
- @Override
872
+ /**
873
+ *
874
+ * @return
875
+ */
876
+ @Override
772
877
  public String toString() {
773
878
  return getClass().getSimpleName() + " size=" + size() + " " + toJSON();
774
879
  }
@@ -61,8 +61,16 @@ import processing.core.PConstants;
61
61
  * @see TableRow
62
62
  */
63
63
  public class Table {
64
- protected int rowCount;
65
- protected int allocCount;
64
+
65
+ /**
66
+ *
67
+ */
68
+ protected int rowCount;
69
+
70
+ /**
71
+ *
72
+ */
73
+ protected int allocCount;
66
74
 
67
75
  // protected boolean skipEmptyRows = true;
68
76
  // protected boolean skipCommentLines = true;
@@ -70,32 +78,90 @@ public class Table {
70
78
  // protected boolean commaSeparatedValues = false;
71
79
  // protected boolean awfulCSV = false;
72
80
 
81
+ /**
82
+ *
83
+ */
84
+
73
85
  protected String missingString = null;
74
- protected int missingInt = 0;
75
- protected long missingLong = 0;
76
- protected float missingFloat = Float.NaN;
77
- protected double missingDouble = Double.NaN;
78
- protected int missingCategory = -1;
86
+
87
+ /**
88
+ *
89
+ */
90
+ protected int missingInt = 0;
91
+
92
+ /**
93
+ *
94
+ */
95
+ protected long missingLong = 0;
96
+
97
+ /**
98
+ *
99
+ */
100
+ protected float missingFloat = Float.NaN;
101
+
102
+ /**
103
+ *
104
+ */
105
+ protected double missingDouble = Double.NaN;
106
+
107
+ /**
108
+ *
109
+ */
110
+ protected int missingCategory = -1;
79
111
 
80
112
  String[] columnTitles;
81
113
  HashMapBlows[] columnCategories;
82
114
  HashMap<String, Integer> columnIndices;
83
115
 
84
- protected Object[] columns; // [column]
116
+ /**
117
+ *
118
+ */
119
+ protected Object[] columns; // [column]
85
120
 
86
121
  // accessible for advanced users
122
+
123
+ /**
124
+ *
125
+ */
87
126
  static public final int STRING = 0;
88
- static public final int INT = 1;
89
- static public final int LONG = 2;
90
- static public final int FLOAT = 3;
91
- static public final int DOUBLE = 4;
92
- static public final int CATEGORY = 5;
127
+
128
+ /**
129
+ *
130
+ */
131
+ static public final int INT = 1;
132
+
133
+ /**
134
+ *
135
+ */
136
+ static public final int LONG = 2;
137
+
138
+ /**
139
+ *
140
+ */
141
+ static public final int FLOAT = 3;
142
+
143
+ /**
144
+ *
145
+ */
146
+ static public final int DOUBLE = 4;
147
+
148
+ /**
149
+ *
150
+ */
151
+ static public final int CATEGORY = 5;
93
152
  int[] columnTypes;
94
153
 
95
- protected RowIterator rowIterator;
154
+ /**
155
+ *
156
+ */
157
+ protected RowIterator rowIterator;
96
158
 
97
159
  // 0 for doubling each time, otherwise the number of rows to increment on
98
160
  // each expansion.
161
+
162
+ /**
163
+ *
164
+ */
99
165
  protected int expandIncrement;
100
166
 
101
167
 
@@ -107,6 +173,8 @@ public class Table {
107
173
  }
108
174
 
109
175
  /**
176
+ * @param file
177
+ * @throws java.io.IOException
110
178
  * @nowebref
111
179
  */
112
180
  public Table(File file) throws IOException {
@@ -118,6 +186,9 @@ public class Table {
118
186
  * version that uses a File object; future releases (or data types)
119
187
  * may include additional optimizations here
120
188
  *
189
+ * @param file
190
+ * @param options
191
+ * @throws java.io.IOException
121
192
  * @nowebref
122
193
  */
123
194
  public Table(File file, String options) throws IOException {
@@ -128,6 +199,8 @@ public class Table {
128
199
  }
129
200
 
130
201
  /**
202
+ * @param input
203
+ * @throws java.io.IOException
131
204
  * @nowebref
132
205
  */
133
206
  public Table(InputStream input) throws IOException {
@@ -154,8 +227,11 @@ public class Table {
154
227
  parse(input, options);
155
228
  }
156
229
 
157
-
158
- public Table(Iterable<TableRow> rows) {
230
+ /**
231
+ *
232
+ * @param rows
233
+ */
234
+ public Table(Iterable<TableRow> rows) {
159
235
  init();
160
236
 
161
237
  int row = 0;
@@ -195,6 +271,7 @@ public class Table {
195
271
 
196
272
 
197
273
  /**
274
+ * @param rs
198
275
  * @nowebref
199
276
  */
200
277
  public Table(ResultSet rs) {
@@ -254,16 +331,24 @@ public class Table {
254
331
  }
255
332
  }
256
333
 
257
-
258
- public Table typedParse(InputStream input, String options) throws IOException {
334
+ /**
335
+ *
336
+ * @param input
337
+ * @param options
338
+ * @return
339
+ * @throws IOException
340
+ */
341
+ public Table typedParse(InputStream input, String options) throws IOException {
259
342
  Table table = new Table();
260
343
  table.setColumnTypes(this);
261
344
  table.parse(input, options);
262
345
  return table;
263
346
  }
264
347
 
265
-
266
- protected void init() {
348
+ /**
349
+ *
350
+ */
351
+ protected void init() {
267
352
  columns = new Object[0];
268
353
  columnTypes = new int[0];
269
354
  columnCategories = new HashMapBlows[0];
@@ -305,7 +390,14 @@ public class Table {
305
390
  static final String[] loadExtensions = { "csv", "tsv", "ods", "bin" };
306
391
  static final String[] saveExtensions = { "csv", "tsv", "ods", "bin", "html" };
307
392
 
308
- static public String extensionOptions(boolean loading, String filename, String options) {
393
+ /**
394
+ *
395
+ * @param loading
396
+ * @param filename
397
+ * @param options
398
+ * @return
399
+ */
400
+ static public String extensionOptions(boolean loading, String filename, String options) {
309
401
  String extension = PApplet.checkExtension(filename);
310
402
  if (extension != null) {
311
403
  for (String possible : loading ? loadExtensions : saveExtensions) {
@@ -323,8 +415,13 @@ public class Table {
323
415
  return options;
324
416
  }
325
417
 
326
-
327
- protected void parse(InputStream input, String options) throws IOException {
418
+ /**
419
+ *
420
+ * @param input
421
+ * @param options
422
+ * @throws IOException
423
+ */
424
+ protected void parse(InputStream input, String options) throws IOException {
328
425
  // boolean awfulCSV = false;
329
426
  boolean header = false;
330
427
  String extension = null;
@@ -400,8 +497,14 @@ public class Table {
400
497
  }
401
498
  }
402
499
 
403
-
404
- protected void parseBasic(BufferedReader reader,
500
+ /**
501
+ *
502
+ * @param reader
503
+ * @param header
504
+ * @param tsv
505
+ * @throws IOException
506
+ */
507
+ protected void parseBasic(BufferedReader reader,
405
508
  boolean header, boolean tsv) throws IOException {
406
509
  String line = null;
407
510
  int row = 0;
@@ -743,10 +846,12 @@ public class Table {
743
846
 
744
847
  /**
745
848
  * Parse a line of text as comma-separated values, returning each value as
746
- * one entry in an array of String objects. Remove quotes from entries that
747
- * begin and end with them, and convert 'escaped' quotes to actual quotes.
849
+ * one entry in an array of String objects.Remove quotes from entries that
850
+ begin and end with them, and convert 'escaped' quotes to actual quotes.
748
851
  * @param line line of text to be parsed
852
+ * @param reader
749
853
  * @return an array of the individual values formerly separated by commas
854
+ * @throws java.io.IOException
750
855
  */
751
856
  protected String[] splitLineCSV(String line, BufferedReader reader) throws IOException {
752
857
  if (csl == null) {
@@ -840,8 +945,13 @@ public class Table {
840
945
  return null;
841
946
  }
842
947
 
843
-
844
- protected void odsParse(InputStream input, String worksheet, boolean header) {
948
+ /**
949
+ *
950
+ * @param input
951
+ * @param worksheet
952
+ * @param header
953
+ */
954
+ protected void odsParse(InputStream input, String worksheet, boolean header) {
845
955
  try {
846
956
  InputStream contentStream = odsFindContentXML(input);
847
957
  XML xml = new XML(contentStream);
@@ -1027,7 +1137,9 @@ public class Table {
1027
1137
  // because that's passed to the constructor parameter (inserted by the
1028
1138
  // compiler) of an inner class by the runtime.
1029
1139
 
1030
- /** incomplete, do not use */
1140
+ /** incomplete, do not use
1141
+ * @param enclosingObject
1142
+ * @param fieldName */
1031
1143
  public void parseInto(Object enclosingObject, String fieldName) {
1032
1144
  Class<?> target = null;
1033
1145
  Object outgoing = null;
@@ -1170,14 +1282,25 @@ public class Table {
1170
1282
  }
1171
1283
  }
1172
1284
 
1173
-
1174
- public boolean save(File file, String options) throws IOException {
1285
+ /**
1286
+ *
1287
+ * @param file
1288
+ * @param options
1289
+ * @return
1290
+ * @throws IOException
1291
+ */
1292
+ public boolean save(File file, String options) throws IOException {
1175
1293
  return save(PApplet.createOutput(file),
1176
1294
  Table.extensionOptions(false, file.getName(), options));
1177
1295
  }
1178
1296
 
1179
-
1180
- public boolean save(OutputStream output, String options) {
1297
+ /**
1298
+ *
1299
+ * @param output
1300
+ * @param options
1301
+ * @return
1302
+ */
1303
+ public boolean save(OutputStream output, String options) {
1181
1304
  PrintWriter writer = PApplet.createWriter(output);
1182
1305
  String extension = null;
1183
1306
  if (options == null) {
@@ -1225,8 +1348,11 @@ public class Table {
1225
1348
  return true;
1226
1349
  }
1227
1350
 
1228
-
1229
- protected void writeTSV(PrintWriter writer) {
1351
+ /**
1352
+ *
1353
+ * @param writer
1354
+ */
1355
+ protected void writeTSV(PrintWriter writer) {
1230
1356
  if (columnTitles != null) {
1231
1357
  for (int col = 0; col < columns.length; col++) {
1232
1358
  if (col != 0) {
@@ -1255,8 +1381,11 @@ public class Table {
1255
1381
  writer.flush();
1256
1382
  }
1257
1383
 
1258
-
1259
- protected void writeCSV(PrintWriter writer) {
1384
+ /**
1385
+ *
1386
+ * @param writer
1387
+ */
1388
+ protected void writeCSV(PrintWriter writer) {
1260
1389
  if (columnTitles != null) {
1261
1390
  for (int col = 0; col < getColumnCount(); col++) {
1262
1391
  if (col != 0) {
@@ -1292,8 +1421,12 @@ public class Table {
1292
1421
  writer.flush();
1293
1422
  }
1294
1423
 
1295
-
1296
- protected void writeEntryCSV(PrintWriter writer, String entry) {
1424
+ /**
1425
+ *
1426
+ * @param writer
1427
+ * @param entry
1428
+ */
1429
+ protected void writeEntryCSV(PrintWriter writer, String entry) {
1297
1430
  if (entry != null) {
1298
1431
  if (entry.indexOf('\"') != -1) { // convert quotes to double quotes
1299
1432
  char[] c = entry.toCharArray();
@@ -1330,8 +1463,11 @@ public class Table {
1330
1463
  }
1331
1464
  }
1332
1465
 
1333
-
1334
- protected void writeHTML(PrintWriter writer) {
1466
+ /**
1467
+ *
1468
+ * @param writer
1469
+ */
1470
+ protected void writeHTML(PrintWriter writer) {
1335
1471
  writer.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 3.2//EN\">");
1336
1472
  // writer.println("<!DOCTYPE html>");
1337
1473
  // writer.println("<meta charset=\"utf-8\">");
@@ -1380,8 +1516,12 @@ public class Table {
1380
1516
  writer.flush();
1381
1517
  }
1382
1518
 
1383
-
1384
- protected void writeEntryHTML(PrintWriter writer, String entry) {
1519
+ /**
1520
+ *
1521
+ * @param writer
1522
+ * @param entry
1523
+ */
1524
+ protected void writeEntryHTML(PrintWriter writer, String entry) {
1385
1525
  //char[] chars = entry.toCharArray();
1386
1526
  for (char c : entry.toCharArray()) { //chars) {
1387
1527
  if (c == '<') {
@@ -1406,8 +1546,12 @@ public class Table {
1406
1546
  }
1407
1547
  }
1408
1548
 
1409
-
1410
- protected void saveODS(OutputStream os) throws IOException {
1549
+ /**
1550
+ *
1551
+ * @param os
1552
+ * @throws IOException
1553
+ */
1554
+ protected void saveODS(OutputStream os) throws IOException {
1411
1555
  ZipOutputStream zos = new ZipOutputStream(os);
1412
1556
 
1413
1557
  final String xmlHeader = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
@@ -1607,8 +1751,12 @@ public class Table {
1607
1751
  }
1608
1752
  }
1609
1753
 
1610
-
1611
- protected void saveBinary(OutputStream os) throws IOException {
1754
+ /**
1755
+ *
1756
+ * @param os
1757
+ * @throws IOException
1758
+ */
1759
+ protected void saveBinary(OutputStream os) throws IOException {
1612
1760
  DataOutputStream output = new DataOutputStream(new BufferedOutputStream(os));
1613
1761
  output.writeInt(0x9007AB1E); // version
1614
1762
  output.writeInt(getRowCount());
@@ -1683,8 +1831,12 @@ public class Table {
1683
1831
  output.close();
1684
1832
  }
1685
1833
 
1686
-
1687
- protected void loadBinary(InputStream is) throws IOException {
1834
+ /**
1835
+ *
1836
+ * @param is
1837
+ * @throws IOException
1838
+ */
1839
+ protected void loadBinary(InputStream is) throws IOException {
1688
1840
  DataInputStream input = new DataInputStream(new BufferedInputStream(is));
1689
1841
 
1690
1842
  int magic = input.readInt();
@@ -1805,24 +1957,37 @@ public class Table {
1805
1957
 
1806
1958
 
1807
1959
  /**
1960
+ * @param title
1808
1961
  * @param type the type to be used for the new column: INT, LONG, FLOAT, DOUBLE, or STRING
1809
1962
  */
1810
1963
  public void addColumn(String title, int type) {
1811
1964
  insertColumn(columns.length, title, type);
1812
1965
  }
1813
1966
 
1814
-
1815
- public void insertColumn(int index) {
1967
+ /**
1968
+ *
1969
+ * @param index
1970
+ */
1971
+ public void insertColumn(int index) {
1816
1972
  insertColumn(index, null, STRING);
1817
1973
  }
1818
1974
 
1819
-
1820
- public void insertColumn(int index, String title) {
1975
+ /**
1976
+ *
1977
+ * @param index
1978
+ * @param title
1979
+ */
1980
+ public void insertColumn(int index, String title) {
1821
1981
  insertColumn(index, title, STRING);
1822
1982
  }
1823
1983
 
1824
-
1825
- public void insertColumn(int index, String title, int type) {
1984
+ /**
1985
+ *
1986
+ * @param index
1987
+ * @param title
1988
+ * @param type
1989
+ */
1990
+ public void insertColumn(int index, String title, int type) {
1826
1991
  if (title != null && columnTitles == null) {
1827
1992
  columnTitles = new String[columns.length];
1828
1993
  }
@@ -1906,6 +2071,7 @@ public class Table {
1906
2071
 
1907
2072
 
1908
2073
  /**
2074
+ * @return
1909
2075
  * @webref table:method
1910
2076
  * @brief Gets the number of columns in a table
1911
2077
  * @see Table#getRowCount()
@@ -1939,8 +2105,12 @@ public class Table {
1939
2105
  }
1940
2106
  }
1941
2107
 
1942
-
1943
- public void setColumnType(String columnName, String columnType) {
2108
+ /**
2109
+ *
2110
+ * @param columnName
2111
+ * @param columnType
2112
+ */
2113
+ public void setColumnType(String columnName, String columnType) {
1944
2114
  setColumnType(checkColumnIndex(columnName), columnType);
1945
2115
  }
1946
2116
 
@@ -1976,8 +2146,12 @@ public class Table {
1976
2146
  setColumnType(column, parseColumnType(columnType));
1977
2147
  }
1978
2148
 
1979
-
1980
- public void setColumnType(String columnName, int newType) {
2149
+ /**
2150
+ *
2151
+ * @param columnName
2152
+ * @param newType
2153
+ */
2154
+ public void setColumnType(String columnName, int newType) {
1981
2155
  setColumnType(checkColumnIndex(columnName), newType);
1982
2156
  }
1983
2157
 
@@ -2066,6 +2240,7 @@ public class Table {
2066
2240
 
2067
2241
  /**
2068
2242
  * Set the entire table to a specific data type.
2243
+ * @param type
2069
2244
  */
2070
2245
  public void setTableType(String type) {
2071
2246
  for (int col = 0; col < getColumnCount(); col++) {
@@ -2073,8 +2248,11 @@ public class Table {
2073
2248
  }
2074
2249
  }
2075
2250
 
2076
-
2077
- public void setColumnTypes(int[] types) {
2251
+ /**
2252
+ *
2253
+ * @param types
2254
+ */
2255
+ public void setColumnTypes(int[] types) {
2078
2256
  ensureColumn(types.length - 1);
2079
2257
  for (int col = 0; col < types.length; col++) {
2080
2258
  setColumnType(col, types[col]);
@@ -2127,19 +2305,28 @@ public class Table {
2127
2305
  }
2128
2306
  }
2129
2307
 
2130
-
2131
- public int getColumnType(String columnName) {
2308
+ /**
2309
+ *
2310
+ * @param columnName
2311
+ * @return
2312
+ */
2313
+ public int getColumnType(String columnName) {
2132
2314
  return getColumnType(getColumnIndex(columnName));
2133
2315
  }
2134
2316
 
2135
2317
 
2136
- /** Returns one of Table.STRING, Table.INT, etc... */
2318
+ /** Returns one of Table.STRING, Table.INT, etc...
2319
+ * @param column
2320
+ * @return */
2137
2321
  public int getColumnType(int column) {
2138
2322
  return columnTypes[column];
2139
2323
  }
2140
2324
 
2141
-
2142
- public int[] getColumnTypes() {
2325
+ /**
2326
+ *
2327
+ * @return
2328
+ */
2329
+ public int[] getColumnTypes() {
2143
2330
  return columnTypes;
2144
2331
  }
2145
2332
 
@@ -2148,8 +2335,8 @@ public class Table {
2148
2335
 
2149
2336
 
2150
2337
  /**
2151
- * Remove the first row from the data set, and use it as the column titles.
2152
- * Use loadTable("table.csv", "header") instead.
2338
+ * Remove the first row from the data set, and use it as the column titles.Use loadTable("table.csv", "header") instead.
2339
+ * @return
2153
2340
  */
2154
2341
  @Deprecated
2155
2342
  public String[] removeTitleRow() {
@@ -2159,8 +2346,11 @@ public class Table {
2159
2346
  return titles;
2160
2347
  }
2161
2348
 
2162
-
2163
- public void setColumnTitles(String[] titles) {
2349
+ /**
2350
+ *
2351
+ * @param titles
2352
+ */
2353
+ public void setColumnTitles(String[] titles) {
2164
2354
  if (titles != null) {
2165
2355
  ensureColumn(titles.length - 1);
2166
2356
  }
@@ -2168,8 +2358,12 @@ public class Table {
2168
2358
  columnIndices = null; // remove the cache
2169
2359
  }
2170
2360
 
2171
-
2172
- public void setColumnTitle(int column, String title) {
2361
+ /**
2362
+ *
2363
+ * @param column
2364
+ * @param title
2365
+ */
2366
+ public void setColumnTitle(int column, String title) {
2173
2367
  ensureColumn(column);
2174
2368
  if (columnTitles == null) {
2175
2369
  columnTitles = new String[getColumnCount()];
@@ -2178,23 +2372,37 @@ public class Table {
2178
2372
  columnIndices = null; // reset these fellas
2179
2373
  }
2180
2374
 
2181
-
2182
- public boolean hasColumnTitles() {
2375
+ /**
2376
+ *
2377
+ * @return
2378
+ */
2379
+ public boolean hasColumnTitles() {
2183
2380
  return columnTitles != null;
2184
2381
  }
2185
2382
 
2186
-
2187
- public String[] getColumnTitles() {
2383
+ /**
2384
+ *
2385
+ * @return
2386
+ */
2387
+ public String[] getColumnTitles() {
2188
2388
  return columnTitles;
2189
2389
  }
2190
2390
 
2191
-
2192
- public String getColumnTitle(int col) {
2391
+ /**
2392
+ *
2393
+ * @param col
2394
+ * @return
2395
+ */
2396
+ public String getColumnTitle(int col) {
2193
2397
  return (columnTitles == null) ? null : columnTitles[col];
2194
2398
  }
2195
2399
 
2196
-
2197
- public int getColumnIndex(String columnName) {
2400
+ /**
2401
+ *
2402
+ * @param columnName
2403
+ * @return
2404
+ */
2405
+ public int getColumnIndex(String columnName) {
2198
2406
  return getColumnIndex(columnName, true);
2199
2407
  }
2200
2408
 
@@ -2254,6 +2462,7 @@ public class Table {
2254
2462
  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2255
2463
 
2256
2464
  /**
2465
+ * @return
2257
2466
  * @webref table:method
2258
2467
  * @brief Gets the number of rows in a table
2259
2468
  * @see Table#getColumnCount()
@@ -2262,8 +2471,11 @@ public class Table {
2262
2471
  return rowCount;
2263
2472
  }
2264
2473
 
2265
-
2266
- public int lastRowIndex() {
2474
+ /**
2475
+ *
2476
+ * @return
2477
+ */
2478
+ public int lastRowIndex() {
2267
2479
  return getRowCount() - 1;
2268
2480
  }
2269
2481
 
@@ -2278,8 +2490,11 @@ public class Table {
2278
2490
  setRowCount(0);
2279
2491
  }
2280
2492
 
2281
-
2282
- public void setRowCount(int newCount) {
2493
+ /**
2494
+ *
2495
+ * @param newCount
2496
+ */
2497
+ public void setRowCount(int newCount) {
2283
2498
  if (newCount != rowCount) {
2284
2499
  if (newCount > 1000000) {
2285
2500
  System.out.print("Note: setting maximum row count to " + PApplet.nfc(newCount));
@@ -2312,6 +2527,7 @@ public class Table {
2312
2527
 
2313
2528
 
2314
2529
  /**
2530
+ * @return
2315
2531
  * @webref table:method
2316
2532
  * @brief Adds a row to a table
2317
2533
  * @see Table#removeRow(int)
@@ -2326,13 +2542,19 @@ public class Table {
2326
2542
 
2327
2543
  /**
2328
2544
  * @param source a reference to the original row to be duplicated
2545
+ * @return
2329
2546
  */
2330
2547
  public TableRow addRow(TableRow source) {
2331
2548
  return setRow(rowCount, source);
2332
2549
  }
2333
2550
 
2334
-
2335
- public TableRow setRow(int row, TableRow source) {
2551
+ /**
2552
+ *
2553
+ * @param row
2554
+ * @param source
2555
+ * @return
2556
+ */
2557
+ public TableRow setRow(int row, TableRow source) {
2336
2558
  // Make sure there are enough columns to add this data
2337
2559
  ensureBounds(row, source.getColumnCount() - 1);
2338
2560
 
@@ -2370,6 +2592,8 @@ public class Table {
2370
2592
 
2371
2593
 
2372
2594
  /**
2595
+ * @param columnData
2596
+ * @return
2373
2597
  * @nowebref
2374
2598
  */
2375
2599
  public TableRow addRow(Object[] columnData) {
@@ -2377,8 +2601,11 @@ public class Table {
2377
2601
  return new RowPointer(this, rowCount - 1);
2378
2602
  }
2379
2603
 
2380
-
2381
- public void addRows(Table source) {
2604
+ /**
2605
+ *
2606
+ * @param source
2607
+ */
2608
+ public void addRows(Table source) {
2382
2609
  int index = getRowCount();
2383
2610
  setRowCount(index + source.getRowCount());
2384
2611
  for (TableRow row : source.rows()) {
@@ -2386,8 +2613,12 @@ public class Table {
2386
2613
  }
2387
2614
  }
2388
2615
 
2389
-
2390
- public void insertRow(int insert, Object[] columnData) {
2616
+ /**
2617
+ *
2618
+ * @param insert
2619
+ * @param columnData
2620
+ */
2621
+ public void insertRow(int insert, Object[] columnData) {
2391
2622
  for (int col = 0; col < columns.length; col++) {
2392
2623
  switch (columnTypes[col]) {
2393
2624
  case CATEGORY:
@@ -2548,6 +2779,13 @@ public class Table {
2548
2779
  }
2549
2780
  */
2550
2781
 
2782
+ /**
2783
+ *
2784
+ * @param row
2785
+ * @param pieces
2786
+ */
2787
+
2788
+
2551
2789
 
2552
2790
  public void setRow(int row, Object[] pieces) {
2553
2791
  ensureBounds(row, pieces.length - 1);
@@ -2557,8 +2795,13 @@ public class Table {
2557
2795
  }
2558
2796
  }
2559
2797
 
2560
-
2561
- protected void setRowCol(int row, int col, Object piece) {
2798
+ /**
2799
+ *
2800
+ * @param row
2801
+ * @param col
2802
+ * @param piece
2803
+ */
2804
+ protected void setRowCol(int row, int col, Object piece) {
2562
2805
  switch (columnTypes[col]) {
2563
2806
  case STRING:
2564
2807
  String[] stringData = (String[]) columns[col];
@@ -2642,6 +2885,7 @@ public class Table {
2642
2885
  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2643
2886
 
2644
2887
  /**
2888
+ * @return
2645
2889
  * @webref table:method
2646
2890
  * @brief Gets a row from a table
2647
2891
  * @param row ID number of the row to get
@@ -2658,9 +2902,9 @@ public class Table {
2658
2902
 
2659
2903
  /**
2660
2904
  * Note that this one iterator instance is shared by any calls to iterate
2661
- * the rows of this table. This is very efficient, but not thread-safe.
2662
- * If you want to iterate in a multi-threaded manner, don't use the iterator.
2905
+ * the rows of this table.This is very efficient, but not thread-safe. If you want to iterate in a multi-threaded manner, don't use the iterator.
2663
2906
  *
2907
+ * @return
2664
2908
  * @webref table:method
2665
2909
  * @brief Gets multiple rows from a table
2666
2910
  * @see Table#getRow(int)
@@ -2683,6 +2927,8 @@ public class Table {
2683
2927
  }
2684
2928
 
2685
2929
  /**
2930
+ * @param indices
2931
+ * @return
2686
2932
  * @nowebref
2687
2933
  */
2688
2934
  public Iterable<TableRow> rows(final int[] indices) {
@@ -3049,6 +3295,7 @@ public class Table {
3049
3295
 
3050
3296
 
3051
3297
  /**
3298
+ * @return
3052
3299
  * @webref table:method
3053
3300
  * @brief Get an integer value from the specified row and column
3054
3301
  * @param row ID number of the row to reference
@@ -3073,14 +3320,19 @@ public class Table {
3073
3320
  }
3074
3321
 
3075
3322
  /**
3323
+ * @param row
3076
3324
  * @param columnName title of the column to reference
3325
+ * @return
3077
3326
  */
3078
3327
  public int getInt(int row, String columnName) {
3079
3328
  return getInt(row, getColumnIndex(columnName));
3080
3329
  }
3081
3330
 
3082
-
3083
- public void setMissingInt(int value) {
3331
+ /**
3332
+ *
3333
+ * @param value
3334
+ */
3335
+ public void setMissingInt(int value) {
3084
3336
  missingInt = value;
3085
3337
  }
3086
3338
 
@@ -3114,21 +3366,30 @@ public class Table {
3114
3366
  }
3115
3367
 
3116
3368
  /**
3369
+ * @param row
3117
3370
  * @param columnName title of the target column
3371
+ * @param value
3118
3372
  */
3119
3373
  public void setInt(int row, String columnName, int value) {
3120
3374
  setInt(row, getColumnIndex(columnName), value);
3121
3375
  }
3122
3376
 
3123
-
3124
-
3125
- public int[] getIntColumn(String name) {
3377
+ /**
3378
+ *
3379
+ * @param name
3380
+ * @return
3381
+ */
3382
+ public int[] getIntColumn(String name) {
3126
3383
  int col = getColumnIndex(name);
3127
3384
  return (col == -1) ? null : getIntColumn(col);
3128
3385
  }
3129
3386
 
3130
-
3131
- public int[] getIntColumn(int col) {
3387
+ /**
3388
+ *
3389
+ * @param col
3390
+ * @return
3391
+ */
3392
+ public int[] getIntColumn(int col) {
3132
3393
  int[] outgoing = new int[rowCount];
3133
3394
  for (int row = 0; row < rowCount; row++) {
3134
3395
  outgoing[row] = getInt(row, col);
@@ -3136,8 +3397,12 @@ public class Table {
3136
3397
  return outgoing;
3137
3398
  }
3138
3399
 
3139
-
3140
- public int[] getIntRow(int row) {
3400
+ /**
3401
+ *
3402
+ * @param row
3403
+ * @return
3404
+ */
3405
+ public int[] getIntRow(int row) {
3141
3406
  int[] outgoing = new int[columns.length];
3142
3407
  for (int col = 0; col < columns.length; col++) {
3143
3408
  outgoing[col] = getInt(row, col);
@@ -3148,6 +3413,13 @@ public class Table {
3148
3413
 
3149
3414
  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3150
3415
 
3416
+ /**
3417
+ *
3418
+ * @param row
3419
+ * @param column
3420
+ * @return
3421
+ */
3422
+
3151
3423
 
3152
3424
  public long getLong(int row, int column) {
3153
3425
  checkBounds(row, column);
@@ -3166,18 +3438,31 @@ public class Table {
3166
3438
  }
3167
3439
  }
3168
3440
 
3169
-
3170
- public long getLong(int row, String columnName) {
3441
+ /**
3442
+ *
3443
+ * @param row
3444
+ * @param columnName
3445
+ * @return
3446
+ */
3447
+ public long getLong(int row, String columnName) {
3171
3448
  return getLong(row, getColumnIndex(columnName));
3172
3449
  }
3173
3450
 
3174
-
3175
- public void setMissingLong(long value) {
3451
+ /**
3452
+ *
3453
+ * @param value
3454
+ */
3455
+ public void setMissingLong(long value) {
3176
3456
  missingLong = value;
3177
3457
  }
3178
3458
 
3179
-
3180
- public void setLong(int row, int column, long value) {
3459
+ /**
3460
+ *
3461
+ * @param row
3462
+ * @param column
3463
+ * @param value
3464
+ */
3465
+ public void setLong(int row, int column, long value) {
3181
3466
  if (columnTypes[column] == STRING) {
3182
3467
  setString(row, column, String.valueOf(value));
3183
3468
 
@@ -3191,19 +3476,32 @@ public class Table {
3191
3476
  }
3192
3477
  }
3193
3478
 
3194
-
3195
- public void setLong(int row, String columnName, long value) {
3479
+ /**
3480
+ *
3481
+ * @param row
3482
+ * @param columnName
3483
+ * @param value
3484
+ */
3485
+ public void setLong(int row, String columnName, long value) {
3196
3486
  setLong(row, getColumnIndex(columnName), value);
3197
3487
  }
3198
3488
 
3199
-
3200
- public long[] getLongColumn(String name) {
3489
+ /**
3490
+ *
3491
+ * @param name
3492
+ * @return
3493
+ */
3494
+ public long[] getLongColumn(String name) {
3201
3495
  int col = getColumnIndex(name);
3202
3496
  return (col == -1) ? null : getLongColumn(col);
3203
3497
  }
3204
3498
 
3205
-
3206
- public long[] getLongColumn(int col) {
3499
+ /**
3500
+ *
3501
+ * @param col
3502
+ * @return
3503
+ */
3504
+ public long[] getLongColumn(int col) {
3207
3505
  long[] outgoing = new long[rowCount];
3208
3506
  for (int row = 0; row < rowCount; row++) {
3209
3507
  outgoing[row] = getLong(row, col);
@@ -3211,8 +3509,12 @@ public class Table {
3211
3509
  return outgoing;
3212
3510
  }
3213
3511
 
3214
-
3215
- public long[] getLongRow(int row) {
3512
+ /**
3513
+ *
3514
+ * @param row
3515
+ * @return
3516
+ */
3517
+ public long[] getLongRow(int row) {
3216
3518
  long[] outgoing = new long[columns.length];
3217
3519
  for (int col = 0; col < columns.length; col++) {
3218
3520
  outgoing[col] = getLong(row, col);
@@ -3225,10 +3527,11 @@ public class Table {
3225
3527
 
3226
3528
 
3227
3529
  /**
3228
- * Get a float value from the specified row and column. If the value is null
3229
- * or not parseable as a float, the "missing" value is returned. By default,
3230
- * this is Float.NaN, but can be controlled with setMissingFloat().
3530
+ * Get a float value from the specified row and column.If the value is null
3531
+ or not parseable as a float, the "missing" value is returned. By default,
3532
+ this is Float.NaN, but can be controlled with setMissingFloat().
3231
3533
  *
3534
+ * @return
3232
3535
  * @webref table:method
3233
3536
  * @brief Get a float value from the specified row and column
3234
3537
  * @param row ID number of the row to reference
@@ -3254,14 +3557,19 @@ public class Table {
3254
3557
  }
3255
3558
 
3256
3559
  /**
3560
+ * @param row
3257
3561
  * @param columnName title of the column to reference
3562
+ * @return
3258
3563
  */
3259
3564
  public float getFloat(int row, String columnName) {
3260
3565
  return getFloat(row, getColumnIndex(columnName));
3261
3566
  }
3262
3567
 
3263
-
3264
- public void setMissingFloat(float value) {
3568
+ /**
3569
+ *
3570
+ * @param value
3571
+ */
3572
+ public void setMissingFloat(float value) {
3265
3573
  missingFloat = value;
3266
3574
  }
3267
3575
 
@@ -3294,20 +3602,30 @@ public class Table {
3294
3602
  }
3295
3603
 
3296
3604
  /**
3605
+ * @param row
3297
3606
  * @param columnName title of the target column
3607
+ * @param value
3298
3608
  */
3299
3609
  public void setFloat(int row, String columnName, float value) {
3300
3610
  setFloat(row, getColumnIndex(columnName), value);
3301
3611
  }
3302
3612
 
3303
-
3304
- public float[] getFloatColumn(String name) {
3613
+ /**
3614
+ *
3615
+ * @param name
3616
+ * @return
3617
+ */
3618
+ public float[] getFloatColumn(String name) {
3305
3619
  int col = getColumnIndex(name);
3306
3620
  return (col == -1) ? null : getFloatColumn(col);
3307
3621
  }
3308
3622
 
3309
-
3310
- public float[] getFloatColumn(int col) {
3623
+ /**
3624
+ *
3625
+ * @param col
3626
+ * @return
3627
+ */
3628
+ public float[] getFloatColumn(int col) {
3311
3629
  float[] outgoing = new float[rowCount];
3312
3630
  for (int row = 0; row < rowCount; row++) {
3313
3631
  outgoing[row] = getFloat(row, col);
@@ -3315,8 +3633,12 @@ public class Table {
3315
3633
  return outgoing;
3316
3634
  }
3317
3635
 
3318
-
3319
- public float[] getFloatRow(int row) {
3636
+ /**
3637
+ *
3638
+ * @param row
3639
+ * @return
3640
+ */
3641
+ public float[] getFloatRow(int row) {
3320
3642
  float[] outgoing = new float[columns.length];
3321
3643
  for (int col = 0; col < columns.length; col++) {
3322
3644
  outgoing[col] = getFloat(row, col);
@@ -3327,6 +3649,13 @@ public class Table {
3327
3649
 
3328
3650
  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3329
3651
 
3652
+ /**
3653
+ *
3654
+ * @param row
3655
+ * @param column
3656
+ * @return
3657
+ */
3658
+
3330
3659
 
3331
3660
  public double getDouble(int row, int column) {
3332
3661
  checkBounds(row, column);
@@ -3345,18 +3674,31 @@ public class Table {
3345
3674
  }
3346
3675
  }
3347
3676
 
3348
-
3349
- public double getDouble(int row, String columnName) {
3677
+ /**
3678
+ *
3679
+ * @param row
3680
+ * @param columnName
3681
+ * @return
3682
+ */
3683
+ public double getDouble(int row, String columnName) {
3350
3684
  return getDouble(row, getColumnIndex(columnName));
3351
3685
  }
3352
3686
 
3353
-
3354
- public void setMissingDouble(double value) {
3687
+ /**
3688
+ *
3689
+ * @param value
3690
+ */
3691
+ public void setMissingDouble(double value) {
3355
3692
  missingDouble = value;
3356
3693
  }
3357
3694
 
3358
-
3359
- public void setDouble(int row, int column, double value) {
3695
+ /**
3696
+ *
3697
+ * @param row
3698
+ * @param column
3699
+ * @param value
3700
+ */
3701
+ public void setDouble(int row, int column, double value) {
3360
3702
  if (columnTypes[column] == STRING) {
3361
3703
  setString(row, column, String.valueOf(value));
3362
3704
 
@@ -3370,19 +3712,32 @@ public class Table {
3370
3712
  }
3371
3713
  }
3372
3714
 
3373
-
3374
- public void setDouble(int row, String columnName, double value) {
3715
+ /**
3716
+ *
3717
+ * @param row
3718
+ * @param columnName
3719
+ * @param value
3720
+ */
3721
+ public void setDouble(int row, String columnName, double value) {
3375
3722
  setDouble(row, getColumnIndex(columnName), value);
3376
3723
  }
3377
3724
 
3378
-
3379
- public double[] getDoubleColumn(String name) {
3725
+ /**
3726
+ *
3727
+ * @param name
3728
+ * @return
3729
+ */
3730
+ public double[] getDoubleColumn(String name) {
3380
3731
  int col = getColumnIndex(name);
3381
3732
  return (col == -1) ? null : getDoubleColumn(col);
3382
3733
  }
3383
3734
 
3384
-
3385
- public double[] getDoubleColumn(int col) {
3735
+ /**
3736
+ *
3737
+ * @param col
3738
+ * @return
3739
+ */
3740
+ public double[] getDoubleColumn(int col) {
3386
3741
  double[] outgoing = new double[rowCount];
3387
3742
  for (int row = 0; row < rowCount; row++) {
3388
3743
  outgoing[row] = getDouble(row, col);
@@ -3390,8 +3745,12 @@ public class Table {
3390
3745
  return outgoing;
3391
3746
  }
3392
3747
 
3393
-
3394
- public double[] getDoubleRow(int row) {
3748
+ /**
3749
+ *
3750
+ * @param row
3751
+ * @return
3752
+ */
3753
+ public double[] getDoubleRow(int row) {
3395
3754
  double[] outgoing = new double[columns.length];
3396
3755
  for (int col = 0; col < columns.length; col++) {
3397
3756
  outgoing[col] = getDouble(row, col);
@@ -3460,8 +3819,9 @@ public class Table {
3460
3819
 
3461
3820
 
3462
3821
  /**
3463
- * Get a String value from the table. If the row is longer than the table
3822
+ * Get a String value from the table.If the row is longer than the table
3464
3823
  *
3824
+ * @return
3465
3825
  * @webref table:method
3466
3826
  * @brief Get an String value from the specified row and column
3467
3827
  * @param row ID number of the row to reference
@@ -3498,7 +3858,9 @@ public class Table {
3498
3858
 
3499
3859
 
3500
3860
  /**
3861
+ * @param row
3501
3862
  * @param columnName title of the column to reference
3863
+ * @return
3502
3864
  */
3503
3865
  public String getString(int row, String columnName) {
3504
3866
  return getString(row, getColumnIndex(columnName));
@@ -3506,7 +3868,8 @@ public class Table {
3506
3868
 
3507
3869
 
3508
3870
  /**
3509
- * Treat entries with this string as "missing". Also used for categorial.
3871
+ * Treat entries with this string as "missing".Also used for categorial.
3872
+ * @param value
3510
3873
  */
3511
3874
  public void setMissingString(String value) {
3512
3875
  missingString = value;
@@ -3536,7 +3899,9 @@ public class Table {
3536
3899
  }
3537
3900
 
3538
3901
  /**
3902
+ * @param row
3539
3903
  * @param columnName title of the target column
3904
+ * @param value
3540
3905
  */
3541
3906
  public void setString(int row, String columnName, String value) {
3542
3907
  int column = checkColumnIndex(columnName);
@@ -3544,6 +3909,7 @@ public class Table {
3544
3909
  }
3545
3910
 
3546
3911
  /**
3912
+ * @return
3547
3913
  * @webref table:method
3548
3914
  * @brief Gets all values in the specified column
3549
3915
  * @param columnName title of the column to search
@@ -3562,6 +3928,7 @@ public class Table {
3562
3928
 
3563
3929
  /**
3564
3930
  * @param column ID number of the column to search
3931
+ * @return
3565
3932
  */
3566
3933
  public String[] getStringColumn(int column) {
3567
3934
  String[] outgoing = new String[rowCount];
@@ -3571,8 +3938,12 @@ public class Table {
3571
3938
  return outgoing;
3572
3939
  }
3573
3940
 
3574
-
3575
- public String[] getStringRow(int row) {
3941
+ /**
3942
+ *
3943
+ * @param row
3944
+ * @return
3945
+ */
3946
+ public String[] getStringRow(int row) {
3576
3947
  String[] outgoing = new String[columns.length];
3577
3948
  for (int col = 0; col < columns.length; col++) {
3578
3949
  outgoing[col] = getString(row, col);
@@ -3588,6 +3959,7 @@ public class Table {
3588
3959
  * Return the row that contains the first String that matches.
3589
3960
  * @param value the String to match
3590
3961
  * @param column ID number of the column to search
3962
+ * @return
3591
3963
  */
3592
3964
  public int findRowIndex(String value, int column) {
3593
3965
  checkColumn(column);
@@ -3624,6 +3996,7 @@ public class Table {
3624
3996
  * Return the row that contains the first String that matches.
3625
3997
  * @param value the String to match
3626
3998
  * @param columnName title of the column to search
3999
+ * @return
3627
4000
  */
3628
4001
  public int findRowIndex(String value, String columnName) {
3629
4002
  return findRowIndex(value, getColumnIndex(columnName));
@@ -3631,10 +4004,11 @@ public class Table {
3631
4004
 
3632
4005
 
3633
4006
  /**
3634
- * Return a list of rows that contain the String passed in. If there are no
3635
- * matches, a zero length array will be returned (not a null array).
4007
+ * Return a list of rows that contain the String passed in.If there are no
4008
+ matches, a zero length array will be returned (not a null array).
3636
4009
  * @param value the String to match
3637
4010
  * @param column ID number of the column to search
4011
+ * @return
3638
4012
  */
3639
4013
  public int[] findRowIndices(String value, int column) {
3640
4014
  int[] outgoing = new int[rowCount];
@@ -3673,10 +4047,11 @@ public class Table {
3673
4047
 
3674
4048
 
3675
4049
  /**
3676
- * Return a list of rows that contain the String passed in. If there are no
3677
- * matches, a zero length array will be returned (not a null array).
4050
+ * Return a list of rows that contain the String passed in.If there are no
4051
+ matches, a zero length array will be returned (not a null array).
3678
4052
  * @param value the String to match
3679
4053
  * @param columnName title of the column to search
4054
+ * @return
3680
4055
  */
3681
4056
  public int[] findRowIndices(String value, String columnName) {
3682
4057
  return findRowIndices(value, getColumnIndex(columnName));
@@ -3686,6 +4061,7 @@ public class Table {
3686
4061
  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3687
4062
 
3688
4063
  /**
4064
+ * @return
3689
4065
  * @webref table:method
3690
4066
  * @brief Finds a row that contains the given value
3691
4067
  * @param value the value to match
@@ -3703,7 +4079,9 @@ public class Table {
3703
4079
 
3704
4080
 
3705
4081
  /**
4082
+ * @param value
3706
4083
  * @param columnName title of the column to search
4084
+ * @return
3707
4085
  */
3708
4086
  public TableRow findRow(String value, String columnName) {
3709
4087
  return findRow(value, getColumnIndex(columnName));
@@ -3711,6 +4089,7 @@ public class Table {
3711
4089
 
3712
4090
 
3713
4091
  /**
4092
+ * @return
3714
4093
  * @webref table:method
3715
4094
  * @brief Finds multiple rows that contain the given value
3716
4095
  * @param value the value to match
@@ -3731,7 +4110,9 @@ public class Table {
3731
4110
 
3732
4111
 
3733
4112
  /**
4113
+ * @param value
3734
4114
  * @param columnName title of the column to search
4115
+ * @return
3735
4116
  */
3736
4117
  public Iterable<TableRow> findRows(final String value, final String columnName) {
3737
4118
  return findRows(value, getColumnIndex(columnName));
@@ -3739,6 +4120,7 @@ public class Table {
3739
4120
 
3740
4121
 
3741
4122
  /**
4123
+ * @return
3742
4124
  * @brief Finds multiple rows that contain the given value
3743
4125
  * @param value the value to match
3744
4126
  * @param column ID number of the column to search
@@ -3749,7 +4131,9 @@ public class Table {
3749
4131
 
3750
4132
 
3751
4133
  /**
4134
+ * @param value
3752
4135
  * @param columnName title of the column to search
4136
+ * @return
3753
4137
  */
3754
4138
  public Iterator<TableRow> findRowIterator(String value, String columnName) {
3755
4139
  return findRowIterator(value, getColumnIndex(columnName));
@@ -3763,6 +4147,7 @@ public class Table {
3763
4147
  * Return the row that contains the first String that matches.
3764
4148
  * @param regexp the String to match
3765
4149
  * @param column ID number of the column to search
4150
+ * @return
3766
4151
  */
3767
4152
  public int matchRowIndex(String regexp, int column) {
3768
4153
  checkColumn(column);
@@ -3791,6 +4176,7 @@ public class Table {
3791
4176
  * Return the row that contains the first String that matches.
3792
4177
  * @param what the String to match
3793
4178
  * @param columnName title of the column to search
4179
+ * @return
3794
4180
  */
3795
4181
  public int matchRowIndex(String what, String columnName) {
3796
4182
  return matchRowIndex(what, getColumnIndex(columnName));
@@ -3798,10 +4184,11 @@ public class Table {
3798
4184
 
3799
4185
 
3800
4186
  /**
3801
- * Return a list of rows that contain the String passed in. If there are no
3802
- * matches, a zero length array will be returned (not a null array).
4187
+ * Return a list of rows that contain the String passed in.If there are no
4188
+ matches, a zero length array will be returned (not a null array).
3803
4189
  * @param regexp the String to match
3804
4190
  * @param column ID number of the column to search
4191
+ * @return
3805
4192
  */
3806
4193
  public int[] matchRowIndices(String regexp, int column) {
3807
4194
  int[] outgoing = new int[rowCount];
@@ -3830,10 +4217,11 @@ public class Table {
3830
4217
 
3831
4218
 
3832
4219
  /**
3833
- * Return a list of rows that match the regex passed in. If there are no
3834
- * matches, a zero length array will be returned (not a null array).
4220
+ * Return a list of rows that match the regex passed in.If there are no
4221
+ matches, a zero length array will be returned (not a null array).
3835
4222
  * @param what the String to match
3836
4223
  * @param columnName title of the column to search
4224
+ * @return
3837
4225
  */
3838
4226
  public int[] matchRowIndices(String what, String columnName) {
3839
4227
  return matchRowIndices(what, getColumnIndex(columnName));
@@ -3843,6 +4231,7 @@ public class Table {
3843
4231
  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3844
4232
 
3845
4233
  /**
4234
+ * @return
3846
4235
  * @webref table:method
3847
4236
  * @brief Finds a row that matches the given expression
3848
4237
  * @param regexp the regular expression to match
@@ -3860,7 +4249,9 @@ public class Table {
3860
4249
 
3861
4250
 
3862
4251
  /**
4252
+ * @param regexp
3863
4253
  * @param columnName title of the column to search
4254
+ * @return
3864
4255
  */
3865
4256
  public TableRow matchRow(String regexp, String columnName) {
3866
4257
  return matchRow(regexp, getColumnIndex(columnName));
@@ -3868,6 +4259,7 @@ public class Table {
3868
4259
 
3869
4260
 
3870
4261
  /**
4262
+ * @return
3871
4263
  * @webref table:method
3872
4264
  * @brief Finds multiple rows that match the given expression
3873
4265
  * @param regexp the regular expression to match
@@ -3888,7 +4280,9 @@ public class Table {
3888
4280
 
3889
4281
 
3890
4282
  /**
4283
+ * @param regexp
3891
4284
  * @param columnName title of the column to search
4285
+ * @return
3892
4286
  */
3893
4287
  public Iterable<TableRow> matchRows(String regexp, String columnName) {
3894
4288
  return matchRows(regexp, getColumnIndex(columnName));
@@ -3896,6 +4290,7 @@ public class Table {
3896
4290
 
3897
4291
 
3898
4292
  /**
4293
+ * @return
3899
4294
  * @webref table:method
3900
4295
  * @brief Finds multiple rows that match the given expression
3901
4296
  * @param value the regular expression to match
@@ -3907,7 +4302,9 @@ public class Table {
3907
4302
 
3908
4303
 
3909
4304
  /**
4305
+ * @param value
3910
4306
  * @param columnName title of the column to search
4307
+ * @return
3911
4308
  */
3912
4309
  public Iterator<TableRow> matchRowIterator(String value, String columnName) {
3913
4310
  return matchRowIterator(value, getColumnIndex(columnName));
@@ -3930,8 +4327,13 @@ public class Table {
3930
4327
  }
3931
4328
  }
3932
4329
 
3933
-
3934
- public void replace(String orig, String replacement, int col) {
4330
+ /**
4331
+ *
4332
+ * @param orig
4333
+ * @param replacement
4334
+ * @param col
4335
+ */
4336
+ public void replace(String orig, String replacement, int col) {
3935
4337
  if (columnTypes[col] == STRING) {
3936
4338
  String[] stringData = (String[]) columns[col];
3937
4339
 
@@ -3951,14 +4353,25 @@ public class Table {
3951
4353
  }
3952
4354
  }
3953
4355
 
3954
-
3955
- public void replace(String orig, String replacement, String colName) {
4356
+ /**
4357
+ *
4358
+ * @param orig
4359
+ * @param replacement
4360
+ * @param colName
4361
+ */
4362
+ public void replace(String orig, String replacement, String colName) {
3956
4363
  replace(orig, replacement, getColumnIndex(colName));
3957
4364
  }
3958
4365
 
3959
4366
 
3960
4367
  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3961
4368
 
4369
+ /**
4370
+ *
4371
+ * @param regex
4372
+ * @param replacement
4373
+ */
4374
+
3962
4375
 
3963
4376
  public void replaceAll(String regex, String replacement) {
3964
4377
  for (int col = 0; col < columns.length; col++) {
@@ -3966,8 +4379,13 @@ public class Table {
3966
4379
  }
3967
4380
  }
3968
4381
 
3969
-
3970
- public void replaceAll(String regex, String replacement, int column) {
4382
+ /**
4383
+ *
4384
+ * @param regex
4385
+ * @param replacement
4386
+ * @param column
4387
+ */
4388
+ public void replaceAll(String regex, String replacement, int column) {
3971
4389
  checkColumn(column);
3972
4390
  if (columnTypes[column] == STRING) {
3973
4391
  String[] stringData = (String[]) columns[column];
@@ -3983,9 +4401,9 @@ public class Table {
3983
4401
 
3984
4402
 
3985
4403
  /**
3986
- * Run String.replaceAll() on all entries in a column.
3987
- * Only works with columns that are already String values.
4404
+ * Run String.replaceAll() on all entries in a column.Only works with columns that are already String values.
3988
4405
  * @param regex the String to match
4406
+ * @param replacement
3989
4407
  * @param columnName title of the column to search
3990
4408
  */
3991
4409
  public void replaceAll(String regex, String replacement, String columnName) {
@@ -4012,12 +4430,12 @@ public class Table {
4012
4430
 
4013
4431
 
4014
4432
  /**
4015
- * Removed any of the specified characters from a column. For instance,
4016
- * the following code removes dollar signs and commas from column 2:
4017
- * <pre>
4433
+ * Removed any of the specified characters from a column.For instance,
4434
+ the following code removes dollar signs and commas from column 2:<pre>
4018
4435
  * table.removeTokens(",$", 2);
4019
4436
  * </pre>
4020
4437
  *
4438
+ * @param tokens
4021
4439
  * @param column ID number of the column to process
4022
4440
  */
4023
4441
  public void removeTokens(String tokens, int column) {
@@ -4042,6 +4460,7 @@ public class Table {
4042
4460
  }
4043
4461
 
4044
4462
  /**
4463
+ * @param tokens
4045
4464
  * @param columnName title of the column to process
4046
4465
  */
4047
4466
  public void removeTokens(String tokens, String columnName) {
@@ -4088,8 +4507,12 @@ public class Table {
4088
4507
  }
4089
4508
  }
4090
4509
 
4091
-
4092
- protected boolean isEmptyArray(String[] contents) {
4510
+ /**
4511
+ *
4512
+ * @param contents
4513
+ * @return
4514
+ */
4515
+ protected boolean isEmptyArray(String[] contents) {
4093
4516
  for (String entry : contents) {
4094
4517
  if (entry != null && entry.length() > 0) {
4095
4518
  return false;
@@ -4148,7 +4571,8 @@ public class Table {
4148
4571
  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4149
4572
 
4150
4573
 
4151
- /** Make sure this is a legit column, and if not, expand the table. */
4574
+ /** Make sure this is a legit column, and if not, expand the table.
4575
+ * @param col */
4152
4576
  protected void ensureColumn(int col) {
4153
4577
  if (col >= columns.length) {
4154
4578
  setColumnCount(col + 1);
@@ -4156,7 +4580,8 @@ public class Table {
4156
4580
  }
4157
4581
 
4158
4582
 
4159
- /** Make sure this is a legit row, and if not, expand the table. */
4583
+ /** Make sure this is a legit row, and if not, expand the table.
4584
+ * @param row */
4160
4585
  protected void ensureRow(int row) {
4161
4586
  if (row >= rowCount) {
4162
4587
  setRowCount(row + 1);
@@ -4164,14 +4589,17 @@ public class Table {
4164
4589
  }
4165
4590
 
4166
4591
 
4167
- /** Make sure this is a legit row and column. If not, expand the table. */
4592
+ /** * Make sure this is a legit row and column.If not, expand the table.
4593
+ * @param row
4594
+ * @param col */
4168
4595
  protected void ensureBounds(int row, int col) {
4169
4596
  ensureRow(row);
4170
4597
  ensureColumn(col);
4171
4598
  }
4172
4599
 
4173
4600
 
4174
- /** Throw an error if this row doesn't exist. */
4601
+ /** Throw an error if this row doesn't exist.
4602
+ * @param row */
4175
4603
  protected void checkRow(int row) {
4176
4604
  if (row < 0 || row >= rowCount) {
4177
4605
  throw new ArrayIndexOutOfBoundsException("Row " + row + " does not exist.");
@@ -4179,7 +4607,8 @@ public class Table {
4179
4607
  }
4180
4608
 
4181
4609
 
4182
- /** Throw an error if this column doesn't exist. */
4610
+ /** Throw an error if this column doesn't exist.
4611
+ * @param column */
4183
4612
  protected void checkColumn(int column) {
4184
4613
  if (column < 0 || column >= columns.length) {
4185
4614
  throw new ArrayIndexOutOfBoundsException("Column " + column + " does not exist.");
@@ -4187,7 +4616,9 @@ public class Table {
4187
4616
  }
4188
4617
 
4189
4618
 
4190
- /** Throw an error if this entry is out of bounds. */
4619
+ /** Throw an error if this entry is out of bounds.
4620
+ * @param row
4621
+ * @param column */
4191
4622
  protected void checkBounds(int row, int column) {
4192
4623
  checkRow(row);
4193
4624
  checkColumn(column);
@@ -4312,18 +4743,28 @@ public class Table {
4312
4743
  sort(column, false);
4313
4744
  }
4314
4745
 
4315
-
4316
- public void sortReverse(String columnName) {
4746
+ /**
4747
+ *
4748
+ * @param columnName
4749
+ */
4750
+ public void sortReverse(String columnName) {
4317
4751
  sort(getColumnIndex(columnName), true);
4318
4752
  }
4319
4753
 
4320
-
4321
- public void sortReverse(int column) {
4754
+ /**
4755
+ *
4756
+ * @param column
4757
+ */
4758
+ public void sortReverse(int column) {
4322
4759
  sort(column, true);
4323
4760
  }
4324
4761
 
4325
-
4326
- protected void sort(final int column, final boolean reverse) {
4762
+ /**
4763
+ *
4764
+ * @param column
4765
+ * @param reverse
4766
+ */
4767
+ protected void sort(final int column, final boolean reverse) {
4327
4768
  final int[] order = IntList.fromRange(getRowCount()).array();
4328
4769
  Sort s = new Sort() {
4329
4770
 
@@ -4416,35 +4857,61 @@ public class Table {
4416
4857
 
4417
4858
  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4418
4859
 
4860
+ /**
4861
+ *
4862
+ * @param columnName
4863
+ * @return
4864
+ */
4865
+
4419
4866
 
4420
4867
  public String[] getUnique(String columnName) {
4421
4868
  return getUnique(getColumnIndex(columnName));
4422
4869
  }
4423
4870
 
4424
-
4425
- public String[] getUnique(int column) {
4871
+ /**
4872
+ *
4873
+ * @param column
4874
+ * @return
4875
+ */
4876
+ public String[] getUnique(int column) {
4426
4877
  StringList list = new StringList(getStringColumn(column));
4427
4878
  return list.getUnique();
4428
4879
  }
4429
4880
 
4430
-
4431
- public IntDict getTally(String columnName) {
4881
+ /**
4882
+ *
4883
+ * @param columnName
4884
+ * @return
4885
+ */
4886
+ public IntDict getTally(String columnName) {
4432
4887
  return getTally(getColumnIndex(columnName));
4433
4888
  }
4434
4889
 
4435
-
4436
- public IntDict getTally(int column) {
4890
+ /**
4891
+ *
4892
+ * @param column
4893
+ * @return
4894
+ */
4895
+ public IntDict getTally(int column) {
4437
4896
  StringList list = new StringList(getStringColumn(column));
4438
4897
  return list.getTally();
4439
4898
  }
4440
4899
 
4441
-
4442
- public IntDict getOrder(String columnName) {
4900
+ /**
4901
+ *
4902
+ * @param columnName
4903
+ * @return
4904
+ */
4905
+ public IntDict getOrder(String columnName) {
4443
4906
  return getOrder(getColumnIndex(columnName));
4444
4907
  }
4445
4908
 
4446
-
4447
- public IntDict getOrder(int column) {
4909
+ /**
4910
+ *
4911
+ * @param column
4912
+ * @return
4913
+ */
4914
+ public IntDict getOrder(int column) {
4448
4915
  StringList list = new StringList(getStringColumn(column));
4449
4916
  return list.getOrder();
4450
4917
  }
@@ -4452,77 +4919,139 @@ public class Table {
4452
4919
 
4453
4920
  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4454
4921
 
4922
+ /**
4923
+ *
4924
+ * @param columnName
4925
+ * @return
4926
+ */
4927
+
4455
4928
 
4456
4929
  public IntList getIntList(String columnName) {
4457
4930
  return new IntList(getIntColumn(columnName));
4458
4931
  }
4459
4932
 
4460
-
4461
- public IntList getIntList(int column) {
4933
+ /**
4934
+ *
4935
+ * @param column
4936
+ * @return
4937
+ */
4938
+ public IntList getIntList(int column) {
4462
4939
  return new IntList(getIntColumn(column));
4463
4940
  }
4464
4941
 
4465
-
4466
- public FloatList getFloatList(String columnName) {
4942
+ /**
4943
+ *
4944
+ * @param columnName
4945
+ * @return
4946
+ */
4947
+ public FloatList getFloatList(String columnName) {
4467
4948
  return new FloatList(getFloatColumn(columnName));
4468
4949
  }
4469
4950
 
4470
-
4471
- public FloatList getFloatList(int column) {
4951
+ /**
4952
+ *
4953
+ * @param column
4954
+ * @return
4955
+ */
4956
+ public FloatList getFloatList(int column) {
4472
4957
  return new FloatList(getFloatColumn(column));
4473
4958
  }
4474
4959
 
4475
-
4476
- public StringList getStringList(String columnName) {
4960
+ /**
4961
+ *
4962
+ * @param columnName
4963
+ * @return
4964
+ */
4965
+ public StringList getStringList(String columnName) {
4477
4966
  return new StringList(getStringColumn(columnName));
4478
4967
  }
4479
4968
 
4480
-
4481
- public StringList getStringList(int column) {
4969
+ /**
4970
+ *
4971
+ * @param column
4972
+ * @return
4973
+ */
4974
+ public StringList getStringList(int column) {
4482
4975
  return new StringList(getStringColumn(column));
4483
4976
  }
4484
4977
 
4485
4978
 
4486
4979
  // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4487
4980
 
4981
+ /**
4982
+ *
4983
+ * @param keyColumnName
4984
+ * @param valueColumnName
4985
+ * @return
4986
+ */
4987
+
4488
4988
 
4489
4989
  public IntDict getIntDict(String keyColumnName, String valueColumnName) {
4490
4990
  return new IntDict(getStringColumn(keyColumnName),
4491
4991
  getIntColumn(valueColumnName));
4492
4992
  }
4493
4993
 
4494
-
4495
- public IntDict getIntDict(int keyColumn, int valueColumn) {
4994
+ /**
4995
+ *
4996
+ * @param keyColumn
4997
+ * @param valueColumn
4998
+ * @return
4999
+ */
5000
+ public IntDict getIntDict(int keyColumn, int valueColumn) {
4496
5001
  return new IntDict(getStringColumn(keyColumn),
4497
5002
  getIntColumn(valueColumn));
4498
5003
  }
4499
5004
 
4500
-
4501
- public FloatDict getFloatDict(String keyColumnName, String valueColumnName) {
5005
+ /**
5006
+ *
5007
+ * @param keyColumnName
5008
+ * @param valueColumnName
5009
+ * @return
5010
+ */
5011
+ public FloatDict getFloatDict(String keyColumnName, String valueColumnName) {
4502
5012
  return new FloatDict(getStringColumn(keyColumnName),
4503
5013
  getFloatColumn(valueColumnName));
4504
5014
  }
4505
5015
 
4506
-
4507
- public FloatDict getFloatDict(int keyColumn, int valueColumn) {
5016
+ /**
5017
+ *
5018
+ * @param keyColumn
5019
+ * @param valueColumn
5020
+ * @return
5021
+ */
5022
+ public FloatDict getFloatDict(int keyColumn, int valueColumn) {
4508
5023
  return new FloatDict(getStringColumn(keyColumn),
4509
5024
  getFloatColumn(valueColumn));
4510
5025
  }
4511
5026
 
4512
-
4513
- public StringDict getStringDict(String keyColumnName, String valueColumnName) {
5027
+ /**
5028
+ *
5029
+ * @param keyColumnName
5030
+ * @param valueColumnName
5031
+ * @return
5032
+ */
5033
+ public StringDict getStringDict(String keyColumnName, String valueColumnName) {
4514
5034
  return new StringDict(getStringColumn(keyColumnName),
4515
5035
  getStringColumn(valueColumnName));
4516
5036
  }
4517
5037
 
4518
-
4519
- public StringDict getStringDict(int keyColumn, int valueColumn) {
5038
+ /**
5039
+ *
5040
+ * @param keyColumn
5041
+ * @param valueColumn
5042
+ * @return
5043
+ */
5044
+ public StringDict getStringDict(int keyColumn, int valueColumn) {
4520
5045
  return new StringDict(getStringColumn(keyColumn),
4521
5046
  getStringColumn(valueColumn));
4522
5047
  }
4523
5048
 
4524
-
4525
- public Map<String, TableRow> getRowMap(String columnName) {
5049
+ /**
5050
+ *
5051
+ * @param columnName
5052
+ * @return
5053
+ */
5054
+ public Map<String, TableRow> getRowMap(String columnName) {
4526
5055
  int col = getColumnIndex(columnName);
4527
5056
  return (col == -1) ? null : getRowMap(col);
4528
5057
  }
@@ -4530,8 +5059,7 @@ public class Table {
4530
5059
 
4531
5060
  /**
4532
5061
  * Return a mapping that connects the entry from a column back to the row
4533
- * from which it came. For instance:
4534
- * <pre>
5062
+ * from which it came.For instance:<pre>
4535
5063
  * Table t = loadTable("country-data.tsv", "header");
4536
5064
  * // use the contents of the 'country' column to index the table
4537
5065
  * Map<String, TableRow> lookup = t.getRowMap("country");
@@ -4540,6 +5068,8 @@ public class Table {
4540
5068
  * // get an entry from the 'population' column
4541
5069
  * int population = usRow.getInt("population");
4542
5070
  * </pre>
5071
+ * @param column
5072
+ * @return
4543
5073
  */
4544
5074
  public Map<String, TableRow> getRowMap(int column) {
4545
5075
  Map<String, TableRow> outgoing = new HashMap<>();
@@ -4674,6 +5204,12 @@ public class Table {
4674
5204
 
4675
5205
 
4676
5206
  // TODO naming/whether to include
5207
+
5208
+ /**
5209
+ *
5210
+ * @param rowSubset
5211
+ * @return
5212
+ */
4677
5213
  protected Table createSubset(int[] rowSubset) {
4678
5214
  Table newbie = new Table();
4679
5215
  newbie.setColumnTitles(columnTitles); // also sets columns.length
@@ -4700,8 +5236,8 @@ public class Table {
4700
5236
 
4701
5237
 
4702
5238
  /**
4703
- * Searches the entire table for float values.
4704
- * Returns missing float (Float.NaN by default) if no valid numbers found.
5239
+ * Searches the entire table for float values.Returns missing float (Float.NaN by default) if no valid numbers found.
5240
+ * @return
4705
5241
  */
4706
5242
  protected float getMaxFloat() {
4707
5243
  boolean found = false;
@@ -4727,6 +5263,14 @@ public class Table {
4727
5263
 
4728
5264
 
4729
5265
  // converts a TSV or CSV file to binary.. do not use
5266
+
5267
+ /**
5268
+ *
5269
+ * @param reader
5270
+ * @param tsv
5271
+ * @param outputFile
5272
+ * @throws IOException
5273
+ */
4730
5274
  protected void convertBasic(BufferedReader reader, boolean tsv,
4731
5275
  File outputFile) throws IOException {
4732
5276
  FileOutputStream fos = new FileOutputStream(outputFile);
@@ -4800,8 +5344,13 @@ public class Table {
4800
5344
  raf.close();
4801
5345
  }
4802
5346
 
4803
-
4804
- protected void convertRow(DataOutputStream output, String[] pieces) throws IOException {
5347
+ /**
5348
+ *
5349
+ * @param output
5350
+ * @param pieces
5351
+ * @throws IOException
5352
+ */
5353
+ protected void convertRow(DataOutputStream output, String[] pieces) throws IOException {
4805
5354
  if (pieces.length > getColumnCount()) {
4806
5355
  throw new IllegalArgumentException("Row with too many columns: " +
4807
5356
  PApplet.join(pieces, ","));
@@ -4906,18 +5455,24 @@ public class Table {
4906
5455
  */
4907
5456
 
4908
5457
 
4909
- /** Make a copy of the current table */
5458
+ /** Make a copy of the current table
5459
+ * @return */
4910
5460
  public Table copy() {
4911
5461
  return new Table(rows());
4912
5462
  }
4913
5463
 
4914
-
4915
- public void write(PrintWriter writer) {
5464
+ /**
5465
+ *
5466
+ * @param writer
5467
+ */
5468
+ public void write(PrintWriter writer) {
4916
5469
  writeTSV(writer);
4917
5470
  }
4918
5471
 
4919
-
4920
- public void print() {
5472
+ /**
5473
+ *
5474
+ */
5475
+ public void print() {
4921
5476
  writeTSV(new PrintWriter(System.out));
4922
5477
  }
4923
5478
  }