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

com.oneops.infoblox.model.host.AutoValue_Host Maven / Gradle / Ivy

package com.oneops.infoblox.model.host;

import com.squareup.moshi.JsonAdapter;
import com.squareup.moshi.JsonReader;
import com.squareup.moshi.JsonWriter;
import com.squareup.moshi.Moshi;
import com.squareup.moshi.Types;
import java.io.IOException;
import java.lang.Override;
import java.lang.String;
import java.lang.reflect.Type;
import java.util.List;

final class AutoValue_Host extends $AutoValue_Host {
  AutoValue_Host(String ref, List ipv4Addrs, String name, String view, List aliases) {
    super(ref, ipv4Addrs, name, view, aliases);
  }

  public static final class MoshiJsonAdapter extends JsonAdapter {
    private static final String[] NAMES = new String[] {"_ref","ipv4addrs","name","view","aliases"};
    private static final JsonReader.Options OPTIONS = JsonReader.Options.of(NAMES);
    private final JsonAdapter refAdapter;
    private final JsonAdapter> ipv4AddrsAdapter;
    private final JsonAdapter nameAdapter;
    private final JsonAdapter viewAdapter;
    private final JsonAdapter> aliasesAdapter;
    public MoshiJsonAdapter(Moshi moshi) {
      this.refAdapter = adapter(moshi, String.class);
      this.ipv4AddrsAdapter = adapter(moshi, Types.newParameterizedType(List.class, Ipv4Addrs.class));
      this.nameAdapter = adapter(moshi, String.class);
      this.viewAdapter = adapter(moshi, String.class).nullSafe();
      this.aliasesAdapter = adapter(moshi, Types.newParameterizedType(List.class, String.class)).nullSafe();
    }
    @Override
    public Host fromJson(JsonReader reader) throws IOException {
      reader.beginObject();
      String ref = null;
      List ipv4Addrs = null;
      String name = null;
      String view = null;
      List aliases = null;
      while (reader.hasNext()) {
        switch (reader.selectName(OPTIONS)) {
          case 0: {
            ref = this.refAdapter.fromJson(reader);
            break;
          }
          case 1: {
            ipv4Addrs = this.ipv4AddrsAdapter.fromJson(reader);
            break;
          }
          case 2: {
            name = this.nameAdapter.fromJson(reader);
            break;
          }
          case 3: {
            view = this.viewAdapter.fromJson(reader);
            break;
          }
          case 4: {
            aliases = this.aliasesAdapter.fromJson(reader);
            break;
          }
          case -1: {
            // Unknown name, skip it
            reader.nextName();
            reader.skipValue();
          }
        }
      }
      reader.endObject();
      return new AutoValue_Host(ref, ipv4Addrs, name, view, aliases);
    }
    @Override
    public void toJson(JsonWriter writer, Host value) throws IOException {
      writer.beginObject();
      writer.name("_ref");
      this.refAdapter.toJson(writer, value.ref());
      writer.name("ipv4addrs");
      this.ipv4AddrsAdapter.toJson(writer, value.ipv4Addrs());
      writer.name("name");
      this.nameAdapter.toJson(writer, value.name());
      String view = value.view();
      if (view != null) {
        writer.name("view");
        this.viewAdapter.toJson(writer, view);
      }
      List aliases = value.aliases();
      if (aliases != null) {
        writer.name("aliases");
        this.aliasesAdapter.toJson(writer, aliases);
      }
      writer.endObject();
    }
    private JsonAdapter adapter(Moshi moshi, Type adapterType) {
      return moshi.adapter(adapterType);
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy