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

io.kubernetes.client.openapi.models.V1APIGroupFluentImpl Maven / Gradle / Ivy

/*
Copyright 2022 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package io.kubernetes.client.openapi.models;

import io.kubernetes.client.fluent.BaseFluent;
import io.kubernetes.client.fluent.Nested;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.function.Predicate;

/** Generated */
@SuppressWarnings(value = "unchecked")
public class V1APIGroupFluentImpl> extends BaseFluent
    implements V1APIGroupFluent {
  public V1APIGroupFluentImpl() {}

  public V1APIGroupFluentImpl(io.kubernetes.client.openapi.models.V1APIGroup instance) {
    this.withApiVersion(instance.getApiVersion());

    this.withKind(instance.getKind());

    this.withName(instance.getName());

    this.withPreferredVersion(instance.getPreferredVersion());

    this.withServerAddressByClientCIDRs(instance.getServerAddressByClientCIDRs());

    this.withVersions(instance.getVersions());
  }

  private String apiVersion;
  private java.lang.String kind;
  private java.lang.String name;
  private V1GroupVersionForDiscoveryBuilder preferredVersion;
  private ArrayList serverAddressByClientCIDRs;
  private java.util.ArrayList versions;

  public java.lang.String getApiVersion() {
    return this.apiVersion;
  }

  public A withApiVersion(java.lang.String apiVersion) {
    this.apiVersion = apiVersion;
    return (A) this;
  }

  public Boolean hasApiVersion() {
    return this.apiVersion != null;
  }

  public java.lang.String getKind() {
    return this.kind;
  }

  public A withKind(java.lang.String kind) {
    this.kind = kind;
    return (A) this;
  }

  public java.lang.Boolean hasKind() {
    return this.kind != null;
  }

  public java.lang.String getName() {
    return this.name;
  }

  public A withName(java.lang.String name) {
    this.name = name;
    return (A) this;
  }

  public java.lang.Boolean hasName() {
    return this.name != null;
  }

  /**
   * This method has been deprecated, please use method buildPreferredVersion instead.
   *
   * @return The buildable object.
   */
  @Deprecated
  public io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery getPreferredVersion() {
    return this.preferredVersion != null ? this.preferredVersion.build() : null;
  }

  public io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery buildPreferredVersion() {
    return this.preferredVersion != null ? this.preferredVersion.build() : null;
  }

  public A withPreferredVersion(
      io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery preferredVersion) {
    _visitables.get("preferredVersion").remove(this.preferredVersion);
    if (preferredVersion != null) {
      this.preferredVersion =
          new io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder(
              preferredVersion);
      _visitables.get("preferredVersion").add(this.preferredVersion);
    }
    return (A) this;
  }

  public java.lang.Boolean hasPreferredVersion() {
    return this.preferredVersion != null;
  }

  public V1APIGroupFluent.PreferredVersionNested withNewPreferredVersion() {
    return new V1APIGroupFluentImpl.PreferredVersionNestedImpl();
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.PreferredVersionNested
      withNewPreferredVersionLike(
          io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item) {
    return new V1APIGroupFluentImpl.PreferredVersionNestedImpl(item);
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.PreferredVersionNested
      editPreferredVersion() {
    return withNewPreferredVersionLike(getPreferredVersion());
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.PreferredVersionNested
      editOrNewPreferredVersion() {
    return withNewPreferredVersionLike(
        getPreferredVersion() != null
            ? getPreferredVersion()
            : new io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder().build());
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.PreferredVersionNested
      editOrNewPreferredVersionLike(
          io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item) {
    return withNewPreferredVersionLike(
        getPreferredVersion() != null ? getPreferredVersion() : item);
  }

  public A addToServerAddressByClientCIDRs(Integer index, V1ServerAddressByClientCIDR item) {
    if (this.serverAddressByClientCIDRs == null) {
      this.serverAddressByClientCIDRs =
          new java.util.ArrayList<
              io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder>();
    }
    io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder builder =
        new io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder(item);
    _visitables
        .get("serverAddressByClientCIDRs")
        .add(index >= 0 ? index : _visitables.get("serverAddressByClientCIDRs").size(), builder);
    this.serverAddressByClientCIDRs.add(
        index >= 0 ? index : serverAddressByClientCIDRs.size(), builder);
    return (A) this;
  }

  public A setToServerAddressByClientCIDRs(
      java.lang.Integer index,
      io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR item) {
    if (this.serverAddressByClientCIDRs == null) {
      this.serverAddressByClientCIDRs =
          new java.util.ArrayList<
              io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder>();
    }
    io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder builder =
        new io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder(item);
    if (index < 0 || index >= _visitables.get("serverAddressByClientCIDRs").size()) {
      _visitables.get("serverAddressByClientCIDRs").add(builder);
    } else {
      _visitables.get("serverAddressByClientCIDRs").set(index, builder);
    }
    if (index < 0 || index >= serverAddressByClientCIDRs.size()) {
      serverAddressByClientCIDRs.add(builder);
    } else {
      serverAddressByClientCIDRs.set(index, builder);
    }
    return (A) this;
  }

  public A addToServerAddressByClientCIDRs(
      io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR... items) {
    if (this.serverAddressByClientCIDRs == null) {
      this.serverAddressByClientCIDRs =
          new java.util.ArrayList<
              io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder>();
    }
    for (io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR item : items) {
      io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder builder =
          new io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder(item);
      _visitables.get("serverAddressByClientCIDRs").add(builder);
      this.serverAddressByClientCIDRs.add(builder);
    }
    return (A) this;
  }

  public A addAllToServerAddressByClientCIDRs(
      Collection items) {
    if (this.serverAddressByClientCIDRs == null) {
      this.serverAddressByClientCIDRs =
          new java.util.ArrayList<
              io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder>();
    }
    for (io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR item : items) {
      io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder builder =
          new io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder(item);
      _visitables.get("serverAddressByClientCIDRs").add(builder);
      this.serverAddressByClientCIDRs.add(builder);
    }
    return (A) this;
  }

  public A removeFromServerAddressByClientCIDRs(
      io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR... items) {
    for (io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR item : items) {
      io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder builder =
          new io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder(item);
      _visitables.get("serverAddressByClientCIDRs").remove(builder);
      if (this.serverAddressByClientCIDRs != null) {
        this.serverAddressByClientCIDRs.remove(builder);
      }
    }
    return (A) this;
  }

  public A removeAllFromServerAddressByClientCIDRs(
      java.util.Collection items) {
    for (io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR item : items) {
      io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder builder =
          new io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder(item);
      _visitables.get("serverAddressByClientCIDRs").remove(builder);
      if (this.serverAddressByClientCIDRs != null) {
        this.serverAddressByClientCIDRs.remove(builder);
      }
    }
    return (A) this;
  }

  public A removeMatchingFromServerAddressByClientCIDRs(
      Predicate predicate) {
    if (serverAddressByClientCIDRs == null) return (A) this;
    final Iterator each =
        serverAddressByClientCIDRs.iterator();
    final List visitables = _visitables.get("serverAddressByClientCIDRs");
    while (each.hasNext()) {
      io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder builder = each.next();
      if (predicate.test(builder)) {
        visitables.remove(builder);
        each.remove();
      }
    }
    return (A) this;
  }

  /**
   * This method has been deprecated, please use method buildServerAddressByClientCIDRs instead.
   *
   * @return The buildable object.
   */
  @java.lang.Deprecated
  public List
      getServerAddressByClientCIDRs() {
    return serverAddressByClientCIDRs != null ? build(serverAddressByClientCIDRs) : null;
  }

  public java.util.List
      buildServerAddressByClientCIDRs() {
    return serverAddressByClientCIDRs != null ? build(serverAddressByClientCIDRs) : null;
  }

  public io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR
      buildServerAddressByClientCIDR(java.lang.Integer index) {
    return this.serverAddressByClientCIDRs.get(index).build();
  }

  public io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR
      buildFirstServerAddressByClientCIDR() {
    return this.serverAddressByClientCIDRs.get(0).build();
  }

  public io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR
      buildLastServerAddressByClientCIDR() {
    return this.serverAddressByClientCIDRs.get(serverAddressByClientCIDRs.size() - 1).build();
  }

  public io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR
      buildMatchingServerAddressByClientCIDR(
          java.util.function.Predicate<
                  io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder>
              predicate) {
    for (io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder item :
        serverAddressByClientCIDRs) {
      if (predicate.test(item)) {
        return item.build();
      }
    }
    return null;
  }

  public java.lang.Boolean hasMatchingServerAddressByClientCIDR(
      java.util.function.Predicate<
              io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder>
          predicate) {
    for (io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder item :
        serverAddressByClientCIDRs) {
      if (predicate.test(item)) {
        return true;
      }
    }
    return false;
  }

  public A withServerAddressByClientCIDRs(
      java.util.List
          serverAddressByClientCIDRs) {
    if (this.serverAddressByClientCIDRs != null) {
      _visitables.get("serverAddressByClientCIDRs").removeAll(this.serverAddressByClientCIDRs);
    }
    if (serverAddressByClientCIDRs != null) {
      this.serverAddressByClientCIDRs = new java.util.ArrayList();
      for (io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR item :
          serverAddressByClientCIDRs) {
        this.addToServerAddressByClientCIDRs(item);
      }
    } else {
      this.serverAddressByClientCIDRs = null;
    }
    return (A) this;
  }

  public A withServerAddressByClientCIDRs(
      io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR...
          serverAddressByClientCIDRs) {
    if (this.serverAddressByClientCIDRs != null) {
      this.serverAddressByClientCIDRs.clear();
    }
    if (serverAddressByClientCIDRs != null) {
      for (io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR item :
          serverAddressByClientCIDRs) {
        this.addToServerAddressByClientCIDRs(item);
      }
    }
    return (A) this;
  }

  public java.lang.Boolean hasServerAddressByClientCIDRs() {
    return serverAddressByClientCIDRs != null && !serverAddressByClientCIDRs.isEmpty();
  }

  public V1APIGroupFluent.ServerAddressByClientCIDRsNested addNewServerAddressByClientCIDR() {
    return new V1APIGroupFluentImpl.ServerAddressByClientCIDRsNestedImpl();
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.ServerAddressByClientCIDRsNested
      addNewServerAddressByClientCIDRLike(
          io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR item) {
    return new io.kubernetes.client.openapi.models.V1APIGroupFluentImpl
        .ServerAddressByClientCIDRsNestedImpl(-1, item);
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.ServerAddressByClientCIDRsNested
      setNewServerAddressByClientCIDRLike(
          java.lang.Integer index,
          io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDR item) {
    return new io.kubernetes.client.openapi.models.V1APIGroupFluentImpl
        .ServerAddressByClientCIDRsNestedImpl(index, item);
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.ServerAddressByClientCIDRsNested
      editServerAddressByClientCIDR(java.lang.Integer index) {
    if (serverAddressByClientCIDRs.size() <= index)
      throw new RuntimeException("Can't edit serverAddressByClientCIDRs. Index exceeds size.");
    return setNewServerAddressByClientCIDRLike(index, buildServerAddressByClientCIDR(index));
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.ServerAddressByClientCIDRsNested
      editFirstServerAddressByClientCIDR() {
    if (serverAddressByClientCIDRs.size() == 0)
      throw new RuntimeException("Can't edit first serverAddressByClientCIDRs. The list is empty.");
    return setNewServerAddressByClientCIDRLike(0, buildServerAddressByClientCIDR(0));
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.ServerAddressByClientCIDRsNested
      editLastServerAddressByClientCIDR() {
    int index = serverAddressByClientCIDRs.size() - 1;
    if (index < 0)
      throw new RuntimeException("Can't edit last serverAddressByClientCIDRs. The list is empty.");
    return setNewServerAddressByClientCIDRLike(index, buildServerAddressByClientCIDR(index));
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.ServerAddressByClientCIDRsNested
      editMatchingServerAddressByClientCIDR(
          java.util.function.Predicate<
                  io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder>
              predicate) {
    int index = -1;
    for (int i = 0; i < serverAddressByClientCIDRs.size(); i++) {
      if (predicate.test(serverAddressByClientCIDRs.get(i))) {
        index = i;
        break;
      }
    }
    if (index < 0)
      throw new RuntimeException("Can't edit matching serverAddressByClientCIDRs. No match found.");
    return setNewServerAddressByClientCIDRLike(index, buildServerAddressByClientCIDR(index));
  }

  public A addToVersions(
      java.lang.Integer index,
      io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item) {
    if (this.versions == null) {
      this.versions =
          new java.util.ArrayList<
              io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder>();
    }
    io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder builder =
        new io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder(item);
    _visitables
        .get("versions")
        .add(index >= 0 ? index : _visitables.get("versions").size(), builder);
    this.versions.add(index >= 0 ? index : versions.size(), builder);
    return (A) this;
  }

  public A setToVersions(
      java.lang.Integer index,
      io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item) {
    if (this.versions == null) {
      this.versions =
          new java.util.ArrayList<
              io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder>();
    }
    io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder builder =
        new io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder(item);
    if (index < 0 || index >= _visitables.get("versions").size()) {
      _visitables.get("versions").add(builder);
    } else {
      _visitables.get("versions").set(index, builder);
    }
    if (index < 0 || index >= versions.size()) {
      versions.add(builder);
    } else {
      versions.set(index, builder);
    }
    return (A) this;
  }

  public A addToVersions(io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery... items) {
    if (this.versions == null) {
      this.versions =
          new java.util.ArrayList<
              io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder>();
    }
    for (io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item : items) {
      io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder builder =
          new io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder(item);
      _visitables.get("versions").add(builder);
      this.versions.add(builder);
    }
    return (A) this;
  }

  public A addAllToVersions(
      java.util.Collection items) {
    if (this.versions == null) {
      this.versions =
          new java.util.ArrayList<
              io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder>();
    }
    for (io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item : items) {
      io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder builder =
          new io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder(item);
      _visitables.get("versions").add(builder);
      this.versions.add(builder);
    }
    return (A) this;
  }

  public A removeFromVersions(
      io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery... items) {
    for (io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item : items) {
      io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder builder =
          new io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder(item);
      _visitables.get("versions").remove(builder);
      if (this.versions != null) {
        this.versions.remove(builder);
      }
    }
    return (A) this;
  }

  public A removeAllFromVersions(
      java.util.Collection items) {
    for (io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item : items) {
      io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder builder =
          new io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder(item);
      _visitables.get("versions").remove(builder);
      if (this.versions != null) {
        this.versions.remove(builder);
      }
    }
    return (A) this;
  }

  public A removeMatchingFromVersions(
      java.util.function.Predicate<
              io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder>
          predicate) {
    if (versions == null) return (A) this;
    final Iterator each =
        versions.iterator();
    final List visitables = _visitables.get("versions");
    while (each.hasNext()) {
      io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder builder = each.next();
      if (predicate.test(builder)) {
        visitables.remove(builder);
        each.remove();
      }
    }
    return (A) this;
  }

  /**
   * This method has been deprecated, please use method buildVersions instead.
   *
   * @return The buildable object.
   */
  @java.lang.Deprecated
  public java.util.List
      getVersions() {
    return versions != null ? build(versions) : null;
  }

  public java.util.List
      buildVersions() {
    return versions != null ? build(versions) : null;
  }

  public io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery buildVersion(
      java.lang.Integer index) {
    return this.versions.get(index).build();
  }

  public io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery buildFirstVersion() {
    return this.versions.get(0).build();
  }

  public io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery buildLastVersion() {
    return this.versions.get(versions.size() - 1).build();
  }

  public io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery buildMatchingVersion(
      java.util.function.Predicate<
              io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder>
          predicate) {
    for (io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder item : versions) {
      if (predicate.test(item)) {
        return item.build();
      }
    }
    return null;
  }

  public java.lang.Boolean hasMatchingVersion(
      java.util.function.Predicate<
              io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder>
          predicate) {
    for (io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder item : versions) {
      if (predicate.test(item)) {
        return true;
      }
    }
    return false;
  }

  public A withVersions(
      java.util.List versions) {
    if (this.versions != null) {
      _visitables.get("versions").removeAll(this.versions);
    }
    if (versions != null) {
      this.versions = new java.util.ArrayList();
      for (io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item : versions) {
        this.addToVersions(item);
      }
    } else {
      this.versions = null;
    }
    return (A) this;
  }

  public A withVersions(
      io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery... versions) {
    if (this.versions != null) {
      this.versions.clear();
    }
    if (versions != null) {
      for (io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item : versions) {
        this.addToVersions(item);
      }
    }
    return (A) this;
  }

  public java.lang.Boolean hasVersions() {
    return versions != null && !versions.isEmpty();
  }

  public V1APIGroupFluent.VersionsNested addNewVersion() {
    return new V1APIGroupFluentImpl.VersionsNestedImpl();
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.VersionsNested addNewVersionLike(
      io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item) {
    return new io.kubernetes.client.openapi.models.V1APIGroupFluentImpl.VersionsNestedImpl(
        -1, item);
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.VersionsNested setNewVersionLike(
      java.lang.Integer index,
      io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item) {
    return new io.kubernetes.client.openapi.models.V1APIGroupFluentImpl.VersionsNestedImpl(
        index, item);
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.VersionsNested editVersion(
      java.lang.Integer index) {
    if (versions.size() <= index)
      throw new RuntimeException("Can't edit versions. Index exceeds size.");
    return setNewVersionLike(index, buildVersion(index));
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.VersionsNested editFirstVersion() {
    if (versions.size() == 0)
      throw new RuntimeException("Can't edit first versions. The list is empty.");
    return setNewVersionLike(0, buildVersion(0));
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.VersionsNested editLastVersion() {
    int index = versions.size() - 1;
    if (index < 0) throw new RuntimeException("Can't edit last versions. The list is empty.");
    return setNewVersionLike(index, buildVersion(index));
  }

  public io.kubernetes.client.openapi.models.V1APIGroupFluent.VersionsNested editMatchingVersion(
      java.util.function.Predicate<
              io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder>
          predicate) {
    int index = -1;
    for (int i = 0; i < versions.size(); i++) {
      if (predicate.test(versions.get(i))) {
        index = i;
        break;
      }
    }
    if (index < 0) throw new RuntimeException("Can't edit matching versions. No match found.");
    return setNewVersionLike(index, buildVersion(index));
  }

  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    V1APIGroupFluentImpl that = (V1APIGroupFluentImpl) o;
    if (apiVersion != null ? !apiVersion.equals(that.apiVersion) : that.apiVersion != null)
      return false;
    if (kind != null ? !kind.equals(that.kind) : that.kind != null) return false;
    if (name != null ? !name.equals(that.name) : that.name != null) return false;
    if (preferredVersion != null
        ? !preferredVersion.equals(that.preferredVersion)
        : that.preferredVersion != null) return false;
    if (serverAddressByClientCIDRs != null
        ? !serverAddressByClientCIDRs.equals(that.serverAddressByClientCIDRs)
        : that.serverAddressByClientCIDRs != null) return false;
    if (versions != null ? !versions.equals(that.versions) : that.versions != null) return false;
    return true;
  }

  public int hashCode() {
    return java.util.Objects.hash(
        apiVersion,
        kind,
        name,
        preferredVersion,
        serverAddressByClientCIDRs,
        versions,
        super.hashCode());
  }

  public java.lang.String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("{");
    if (apiVersion != null) {
      sb.append("apiVersion:");
      sb.append(apiVersion + ",");
    }
    if (kind != null) {
      sb.append("kind:");
      sb.append(kind + ",");
    }
    if (name != null) {
      sb.append("name:");
      sb.append(name + ",");
    }
    if (preferredVersion != null) {
      sb.append("preferredVersion:");
      sb.append(preferredVersion + ",");
    }
    if (serverAddressByClientCIDRs != null && !serverAddressByClientCIDRs.isEmpty()) {
      sb.append("serverAddressByClientCIDRs:");
      sb.append(serverAddressByClientCIDRs + ",");
    }
    if (versions != null && !versions.isEmpty()) {
      sb.append("versions:");
      sb.append(versions);
    }
    sb.append("}");
    return sb.toString();
  }

  class PreferredVersionNestedImpl
      extends V1GroupVersionForDiscoveryFluentImpl>
      implements io.kubernetes.client.openapi.models.V1APIGroupFluent.PreferredVersionNested,
          Nested {
    PreferredVersionNestedImpl(
        io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item) {
      this.builder = new V1GroupVersionForDiscoveryBuilder(this, item);
    }

    PreferredVersionNestedImpl() {
      this.builder =
          new io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder(this);
    }

    io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder builder;

    public N and() {
      return (N) V1APIGroupFluentImpl.this.withPreferredVersion(builder.build());
    }

    public N endPreferredVersion() {
      return and();
    }
  }

  class ServerAddressByClientCIDRsNestedImpl
      extends V1ServerAddressByClientCIDRFluentImpl<
          V1APIGroupFluent.ServerAddressByClientCIDRsNested>
      implements io.kubernetes.client.openapi.models.V1APIGroupFluent
                  .ServerAddressByClientCIDRsNested<
              N>,
          io.kubernetes.client.fluent.Nested {
    ServerAddressByClientCIDRsNestedImpl(
        java.lang.Integer index, V1ServerAddressByClientCIDR item) {
      this.index = index;
      this.builder = new V1ServerAddressByClientCIDRBuilder(this, item);
    }

    ServerAddressByClientCIDRsNestedImpl() {
      this.index = -1;
      this.builder =
          new io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder(this);
    }

    io.kubernetes.client.openapi.models.V1ServerAddressByClientCIDRBuilder builder;
    java.lang.Integer index;

    public N and() {
      return (N) V1APIGroupFluentImpl.this.setToServerAddressByClientCIDRs(index, builder.build());
    }

    public N endServerAddressByClientCIDR() {
      return and();
    }
  }

  class VersionsNestedImpl
      extends V1GroupVersionForDiscoveryFluentImpl>
      implements io.kubernetes.client.openapi.models.V1APIGroupFluent.VersionsNested,
          io.kubernetes.client.fluent.Nested {
    VersionsNestedImpl(
        java.lang.Integer index,
        io.kubernetes.client.openapi.models.V1GroupVersionForDiscovery item) {
      this.index = index;
      this.builder = new V1GroupVersionForDiscoveryBuilder(this, item);
    }

    VersionsNestedImpl() {
      this.index = -1;
      this.builder =
          new io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder(this);
    }

    io.kubernetes.client.openapi.models.V1GroupVersionForDiscoveryBuilder builder;
    java.lang.Integer index;

    public N and() {
      return (N) V1APIGroupFluentImpl.this.setToVersions(index, builder.build());
    }

    public N endVersion() {
      return and();
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy