All Downloads are FREE. Search and download functionalities are using the official Maven repository.

water.util.IcedArrayList Maven / Gradle / Ivy

package water.util;

import water.*;

import java.util.ArrayList;

/**
 * Simple wrapper around ArrayList with support for H2O serialization
 * @param 
 */
public class IcedArrayList extends ArrayList implements Freezable {
  private final ArrayList _aList;
  public IcedArrayList() {_aList = new ArrayList();}

  @Override public AutoBuffer write(AutoBuffer ab) {
    ab.put4(size());
    for(T t:this)
      ab.put(t);
    return ab;
  }
  @Override public IcedArrayList read(AutoBuffer ab) {
    int n = ab.get4();
    for(int i = 0; i < n; ++i)
      add(ab.get());
    return this;
  }

  @Override public AutoBuffer write_impl( AutoBuffer ab ) { throw H2O.fail(); }
  @Override public IcedArrayList read_impl( AutoBuffer ab ) { throw H2O.fail(); }
  @Override public AutoBuffer writeJSON_impl(AutoBuffer ab) { return ab; }
  @Override public IcedArrayList readJSON_impl(AutoBuffer ab) {throw H2O.fail(); }

  @Override public AutoBuffer writeJSON(AutoBuffer ab) { throw H2O.fail(); }
  @Override public T readJSON(AutoBuffer ab) { throw H2O.fail(); }

  private static int _frozen$type;
  @Override public int frozenType() {
    return _frozen$type == 0 ? (_frozen$type=water.TypeMap.onIce(IcedArrayList.class.getName())) : _frozen$type;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy