Package water.api

Source Code of water.api.ModelBuildersBase

package water.api;

import hex.ModelBuilder;
import hex.schemas.ModelBuilderSchema;
import water.api.ModelBuildersHandler.ModelBuilders;
import water.util.IcedHashMap;

import java.util.Map;

// Input fields
abstract class ModelBuildersBase extends Schema<ModelBuilders, ModelBuildersBase> {
  @API(help="Algo of ModelBuilder of interest", json=false) // TODO: no validation yet, because right now fields are required if they have validation.
  String algo;;

  // Output fields
  @API(help="ModelBuilders")
  IcedHashMap<String, ModelBuilderSchema> model_builders;

  // Non-version-specific filling into the impl
  @Override public ModelBuilders createImpl() {
    ModelBuilders m = new ModelBuilders();
    m.algo = this.algo;

    if (null != model_builders) {
      m.model_builders = new IcedHashMap<>();

      int i = 0;
      for (Map.Entry<String, ModelBuilderSchema> entry : this.model_builders.entrySet()) {
        String algo = entry.getKey();
        ModelBuilderSchema model_builder = entry.getValue();
        m.model_builders.put(algo, model_builder.createImpl());
      }
    }
    return m;
  }

  @Override public ModelBuildersBase fillFromImpl(ModelBuilders m) {
    this.algo = m.algo;

    if (null != m.model_builders) {
      this.model_builders = new IcedHashMap<>();

      int i = 0;
      for (Map.Entry<String, ModelBuilder> entry: m.model_builders.entrySet()) {
        ModelBuilder model_builder = entry.getValue();
        String algo = entry.getKey();
        this.model_builders.put(algo, model_builder.schema().fillFromImpl(entry.getValue()));
      }
    }
    return this;
  }
}
TOP

Related Classes of water.api.ModelBuildersBase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.