Class LineClassFileIterator<T>

  • All Implemented Interfaces:
    java.lang.Iterable<T>, java.util.Iterator<T>
    Direct Known Subclasses:
    BlastResultFileIterator, MatrixEntryFileIterator, MicroCosmFileIterator

    public class LineClassFileIterator<T>
    extends FileIterator<T>
    Iterate on each line. Create and populate objects based on 'fieldNames' definition: a colon separated list of fields. Note: You can use empty names to skip columns
    Author:
    pcingola
    • Field Detail

      • debug

        public static boolean debug
      • separator

        protected java.lang.String separator
      • fieldStr

        protected java.lang.String fieldStr
      • fieldNames

        protected java.lang.String[] fieldNames
      • fieldByName

        protected java.util.HashMap<java.lang.String,​java.lang.reflect.Field> fieldByName
      • clazz

        protected java.lang.Class clazz
    • Constructor Detail

      • LineClassFileIterator

        public LineClassFileIterator​(java.lang.String fileName,
                                     java.lang.Class clazz)
      • LineClassFileIterator

        public LineClassFileIterator​(java.lang.String fileName,
                                     java.lang.Class clazz,
                                     java.lang.String fieldNames)
    • Method Detail

      • createObject

        protected T createObject​(java.lang.String line)
        Create an object using
        Parameters:
        line -
        Returns:
      • fieldMap

        protected void fieldMap()
        Map field names to Field objects
      • iterator

        public java.util.Iterator<T> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<T>
        Overrides:
        iterator in class FileIterator<T>
      • readNext

        protected T readNext()
        Read a sequence from the file
        Specified by:
        readNext in class FileIterator<T>
        Returns:
      • setSeparator

        public void setSeparator​(java.lang.String separator)