/**
*
*/
package edu.berkeley.nlp.io;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
/**
* @author adpauls
*
*/
public class PerlIOFuncs
{
public enum ControlStatement { next,last,redo;}
public static String chomp(String s)
{
String lineSep = System.getProperty("line.separator");
if (s.endsWith(lineSep))
{
return s.substring(s.length() - lineSep.length());
}
else
{
return s;
}
}
public static interface LineCallback
{
ControlStatement handleLine(String line);
}
public static void diamond(File file, LineCallback c)
{
try
{
BufferedReader r = new BufferedReader(new FileReader(file));
String line = null;
while ((line = r.readLine()) != null)
{
ControlStatement cont = c.handleLine(line);
switch (cont)
{
case next: continue;
case redo: continue;
case last: break;
}
}
}
catch (IOException e)
{
throw new RuntimeException(e);
}
}
}