import java.util.List;\r
\r
import org.marc4j.marc.ControlField;\r
+import org.marc4j.marc.DataField;\r
import org.marc4j.marc.IllegalAddException;\r
import org.marc4j.marc.Leader;\r
import org.marc4j.marc.Record;\r
*/\r
public class RecordImpl implements Record {\r
\r
+ /**\r
+ * \r
+ */\r
+ private static final long serialVersionUID = 1906886225329068668L;\r
+\r
private Long id;\r
\r
private Leader leader;\r
\r
- private List controlFields;\r
+ private List<ControlField> controlFields;\r
\r
- private List dataFields;\r
+ private List<DataField> dataFields;\r
\r
private String type;\r
\r
* Creates a new <code>Record</code>.\r
*/\r
public RecordImpl() {\r
- controlFields = new ArrayList();\r
- dataFields = new ArrayList();\r
+ controlFields = new ArrayList<ControlField>();\r
+ dataFields = new ArrayList<DataField>();\r
}\r
\r
public void setType(String type) {\r
* when the parameter is not a <code>VariableField</code>\r
* instance\r
*/\r
+ @SuppressWarnings("unchecked")\r
public void addVariableField(VariableField field) {\r
if (!(field instanceof VariableField))\r
throw new IllegalAddException("Expected VariableField instance");\r
String tag = field.getTag();\r
if (Verifier.isControlNumberField(tag)) {\r
if (Verifier.hasControlNumberField(controlFields))\r
- controlFields.set(0, field);\r
+ // TODO create converter from VariableField to ControlField\r
+ controlFields.set(0, ((ControlField) field));\r
else\r
- controlFields.add(0, field);\r
+ controlFields.add(0, ((ControlField) field));\r
Collections.sort(controlFields);\r
} else if (Verifier.isControlField(tag)) {\r
- controlFields.add(field);\r
+ controlFields.add(((ControlField) field));\r
Collections.sort(controlFields);\r
} else {\r
- dataFields.add(field);\r
+ dataFields.add(((DataField) field));\r
Collections.sort(dataFields);\r
}\r
\r
return null;\r
}\r
\r
- public List getControlFields() {\r
+ public List<ControlField> getControlFields() {\r
return controlFields;\r
}\r
\r
- public List getDataFields() {\r
+ public List<DataField> getDataFields() {\r
return dataFields;\r
}\r
\r
public VariableField getVariableField(String tag) {\r
- Iterator i;\r
+ @SuppressWarnings("rawtypes")\r
+ Iterator i;\r
if (Verifier.isControlField(tag))\r
i = controlFields.iterator();\r
else\r
return null;\r
}\r
\r
- public List getVariableFields(String tag) {\r
- List fields = new ArrayList();\r
- Iterator i;\r
+ public List<VariableField> getVariableFields(String tag) {\r
+ List<VariableField> fields = new ArrayList<VariableField>();\r
+ @SuppressWarnings("rawtypes")\r
+ Iterator i;\r
if (Verifier.isControlField(tag))\r
i = controlFields.iterator();\r
else\r
return fields;\r
}\r
\r
- public List getVariableFields() {\r
- List fields = new ArrayList();\r
- Iterator i;\r
- i = controlFields.iterator();\r
+ @SuppressWarnings("rawtypes")\r
+ public List<VariableField> getVariableFields() {\r
+ List<VariableField> fields = new ArrayList<VariableField>();\r
+ Iterator i;\r
+ i = ((List) controlFields).iterator();\r
while (i.hasNext())\r
- fields.add(i.next());\r
+ fields.add((VariableField) i.next());\r
i = dataFields.iterator();\r
while (i.hasNext())\r
- fields.add(i.next());\r
+ fields.add((VariableField) i.next());\r
return fields;\r
}\r
\r
return(result);\r
}\r
\r
- public List getVariableFields(String[] tags) {\r
+ @SuppressWarnings({ "rawtypes", "unchecked" })\r
+ public List<VariableField> getVariableFields(String[] tags) {\r
List list = new ArrayList();\r
for (int i = 0; i < tags.length; i++) {\r
String tag = tags[i];\r
sb.append("LEADER ");\r
sb.append(getLeader().toString());\r
sb.append('\n');\r
- Iterator i = getVariableFields().iterator();\r
+ @SuppressWarnings("rawtypes")\r
+ Iterator i = getVariableFields().iterator();\r
while (i.hasNext()) {\r
VariableField field = (VariableField) i.next();\r
sb.append(field.toString());\r
return sb.toString();\r
}\r
\r
- public List find(String pattern) {\r
- List result = new ArrayList();\r
- Iterator i = controlFields.iterator();\r
+ @SuppressWarnings("unchecked")\r
+ public List<VariableField> find(String pattern) {\r
+ @SuppressWarnings("rawtypes")\r
+ List result = new ArrayList();\r
+ @SuppressWarnings("rawtypes")\r
+ Iterator i = controlFields.iterator();\r
while (i.hasNext()) {\r
VariableField field = (VariableField) i.next();\r
if (field.find(pattern))\r
return result;\r
}\r
\r
- public List find(String tag, String pattern) {\r
+ @SuppressWarnings({ "unchecked", "rawtypes" })\r
+ public List<VariableField> find(String tag, String pattern) {\r
List result = new ArrayList();\r
Iterator i = getVariableFields(tag).iterator();\r
while (i.hasNext()) {\r
return result;\r
}\r
\r
- public List find(String[] tag, String pattern) {\r
+ @SuppressWarnings({ "rawtypes", "unchecked" })\r
+ public List<VariableField> find(String[] tag, String pattern) {\r
List result = new ArrayList();\r
Iterator i = getVariableFields(tag).iterator();\r
while (i.hasNext()) {\r