picrate 0.5.0-java → 0.6.0-java

Sign up to get free protection for your applications and to get access to all the features.
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
  }