package com.fp.common.files.record; import java.util.Iterator; /** * Clase que se encarga de la lectura de los bytes de cada registro * Cada Iterable que contiene los 94 bytes del registro * @author scastillo */ public class RecordIterator implements Iterable { /* * Variable que contiene la posicion inicial para armar los 94 bytes */ int startPosition = 0; /** * Variable que contine los 88 registros */ String inString; /* * Variable que indica el tamaņo de cada registro */ private int size = 96; /** * Constructor de la clase * @param inString */ public RecordIterator(String inString,int linesize) { size = linesize; this.inString = inString; } /** * Metodo que reccore los registros */ public Iterator iterator() { return new RIterator(); } /** * Clase privada que se encarga de realizar el Interator */ private class RIterator implements Iterator { /* * Variable que contiene los 94 bytes del registro nacha */ String register; public boolean hasNext() { boolean ret = false; int endPosition = startPosition + size; if (startPosition == inString.length()) { return false; } if (endPosition > inString.length()) { endPosition = inString.length(); } register = inString.substring(startPosition, endPosition); if (startPosition < inString.length()) { startPosition += size; ret = true; } else { ret = false; } return ret; } /** * Metodo que devuelve un registro de 94 bytes * @return */ public String next() { return register; } /** * Metodo que se ejecuta al eliminar un registro */ public void remove() { } } }