Original 2.4
[marc4j.git] / src / org / marc4j / samples / RemoveLocalFieldsExample.java
1 // $Id: RemoveLocalFieldsExample.java,v 1.1 2006/09/23 10:10:08 bpeters Exp $\r
2 /**\r
3  * Copyright (C) 2002-2006 Bas Peters\r
4  *\r
5  * This file is part of MARC4J\r
6  *\r
7  * MARC4J is free software; you can redistribute it and/or\r
8  * modify it under the terms of the GNU Lesser General Public \r
9  * License as published by the Free Software Foundation; either \r
10  * version 2.1 of the License, or (at your option) any later version.\r
11  *\r
12  * MARC4J is distributed in the hope that it will be useful,\r
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
15  * Lesser General Public License for more details.\r
16  *\r
17  * You should have received a copy of the GNU Lesser General Public \r
18  * License along with MARC4J; if not, write to the Free Software\r
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
20  */\r
21 package org.marc4j.samples;\r
22 \r
23 import java.io.InputStream;\r
24 import java.util.Iterator;\r
25 import java.util.List;\r
26 import java.util.regex.Matcher;\r
27 import java.util.regex.Pattern;\r
28 \r
29 import org.marc4j.MarcReader;\r
30 import org.marc4j.MarcStreamReader;\r
31 import org.marc4j.marc.DataField;\r
32 import org.marc4j.marc.Record;\r
33 \r
34 /**\r
35  * Removes local field (tag 9XX).\r
36  * \r
37  * @author Bas Peters\r
38  * @version $Revision: 1.1 $\r
39  */\r
40 public class RemoveLocalFieldsExample {\r
41 \r
42     public static void main(String args[]) throws Exception {\r
43 \r
44         InputStream input = RemoveLocalFieldsExample.class\r
45                 .getResourceAsStream("resources/chabon-loc.mrc");\r
46 \r
47         MarcReader reader = new MarcStreamReader(input);\r
48         while (reader.hasNext()) {\r
49             Record record = reader.next();\r
50             System.out.println(record.toString());\r
51 \r
52             Pattern pattern = Pattern.compile("9\\d\\d");\r
53 \r
54             List fields = record.getDataFields();\r
55 \r
56             Iterator i = fields.iterator();\r
57             while (i.hasNext()) {\r
58                 DataField field = (DataField) i.next();\r
59                 Matcher matcher = pattern.matcher(field.getTag());\r
60                 if (matcher.matches())\r
61                     i.remove();\r
62             }\r
63             System.out.println(record.toString());\r
64         }\r
65 \r
66     }\r
67 \r
68 }