Jagger
 All Classes Namespaces Files Functions Variables Groups Pages
Iterator<T> com.griddynamics.jagger.providers.FileProvider< T >.iterator ( )
145  {
146  Preconditions.checkNotNull(delimeter);
147  Preconditions.checkNotNull(path);
148  Preconditions.checkNotNull(objectCreator);
149 
150  return new AbstractIterator<T>() {
151 
152  private Scanner scanner;
153 
154  {
155  init();
156  }
157 
158  private void init() {
159  try {
160  scanner = new Scanner(new File(path)).useDelimiter(delimeter);
161  } catch (FileNotFoundException e) {
162  throw Throwables.propagate(e);
163  }
164  }
165  @Override
166  protected T computeNext() {
167  try {
168  return objectCreator.createObject(scanner.next());
169  } catch (NoSuchElementException e) {
170  return endOfData();
171  }
172  }
173  };
174  }