Make List type safe. Remove/suppress all warnings.
[marc4j.git] / src / org / marc4j / samples / DataFieldExample.java
index ee518f2..713b2a0 100644 (file)
@@ -29,6 +29,7 @@ import org.marc4j.MarcStreamReader;
 import org.marc4j.marc.DataField;\r
 import org.marc4j.marc.Record;\r
 import org.marc4j.marc.Subfield;\r
+import org.marc4j.marc.VariableField;\r
 \r
 /**\r
  * Read data fields.\r
@@ -52,21 +53,24 @@ public class DataFieldExample {
             System.out.println(dataField.toString() + '\n');\r
 \r
             // get all occurences for a particular tag\r
-            List dataFields = record.getVariableFields("650");\r
-            Iterator i = dataFields.iterator();\r
-            while (i.hasNext()) {\r
-                dataField = (DataField) i.next();\r
-                System.out.println(dataField.toString());\r
+            List<VariableField> variableFields = record.getVariableFields("650");\r
+            Iterator<VariableField> vi = variableFields.iterator();\r
+            while (vi.hasNext()) {\r
+               VariableField variableField = vi.next();\r
+                System.out.println(variableField.toString());\r
             }\r
             System.out.print('\n');\r
 \r
             // get all occurences for a given list of tags\r
             String[] tags = { "010", "100", "245", "250", "260", "300" };\r
-            dataFields = record.getVariableFields(tags);\r
-            i = dataFields.iterator();\r
-            while (i.hasNext()) {\r
-                dataField = (DataField) i.next();\r
-                System.out.println(dataField.toString());\r
+            variableFields = record.getVariableFields(tags);\r
+            vi = variableFields.iterator();\r
+            while (vi.hasNext()) {\r
+                VariableField vf = (DataField) vi.next();\r
+                if (vf instanceof DataField)\r
+                  System.out.println( ((DataField) vf).toString());\r
+                else\r
+                 System.err.println("Not a Datafield: " + vf.toString());\r
             }\r
             System.out.print('\n');\r
 \r
@@ -79,11 +83,11 @@ public class DataFieldExample {
             System.out.println("Tag: " + tag + " Indicator 1: " + ind1\r
                     + " Indicator 2: " + ind2);\r
 \r
-            List subfields = dataField.getSubfields();\r
-            i = subfields.iterator();\r
+            List<Subfield> subfields = dataField.getSubfields();\r
+            Iterator<Subfield> si = subfields.iterator();\r
 \r
-            while (i.hasNext()) {\r
-                Subfield subfield = (Subfield) i.next();\r
+            while (si.hasNext()) {\r
+                Subfield subfield = si.next();\r
                 char code = subfield.getCode();\r
                 String data = subfield.getData();\r
 \r